Google ZXing系列講解(一)——導(dǎo)入AS

基于Google ZXing 3.3.0穩(wěn)定版分析,基本的流程講解。會涉及如何編寫基于ZXing庫的APK; 如何修改源碼定制自己的掃面界面。

Google ZXing介紹

Google ZXing介紹
簡單理解, ZXing支持各種條形碼,二維碼掃描,由多個模塊組成, 而且支持PC端,移動端。

02-zxing模塊.png

本系列,關(guān)注的是如何在Android手機中使用ZXing庫, 重點關(guān)注,core, android, android-core。

Google ZXing 先睹為快

github上ZXing沒有提供apk下載,需要google play,將android目錄導(dǎo)入Android Studio編程完成如下apk。
百度網(wǎng)盤 google-zxing apk

Google ZXing 源碼導(dǎo)入

ZXing項目使用Maven管理,編譯, 沒有使用Android Studio工具, 要想快速導(dǎo)入AS(Android Studio下同), 稍微麻煩點。如果你順手Maven,直接查看 Getting Started Developing 步驟。
接下來,介紹導(dǎo)入AS過程。

ZXing目錄結(jié)構(gòu)

在ZXing介紹那一節(jié),已經(jīng)展示ZXing想的目錄結(jié)構(gòu)。

直接使用AS打開zxing目錄

ZXing 常用庫

Android使用的有: core, android, android-core, android-integration

ZXing源碼導(dǎo)入

以導(dǎo)入android目錄為例講解,如何在AS中使用ZXing核心庫。其中android是官方提供的demo, 通過該Demo熟悉如何集成ZXing核心庫。

使用jar包形式

git clone源碼或者直接下載 zxing-3.3.0 解壓后,目錄內(nèi)容如下:

Paste_Image.png

在AS導(dǎo)入界面,選擇導(dǎo)入選項,進(jìn)入android目錄,連續(xù)next后,官方Demo就導(dǎo)入到AS中。

AS導(dǎo)入zxing demo

這里需要注意下載zxing目錄和導(dǎo)入到AS workspace不能是同一個文件夾,否則會出現(xiàn)錯誤。

已經(jīng)說明,ZXing核心是coreandroid-core, 而android是提供的Demo,上述導(dǎo)入目的是想快速運行該Demo而已。現(xiàn)在,還編譯不過,因為缺少zxing 核心庫,以及android核心庫。

缺少core庫
解決方法
  • 1 下載core-3.3.0.jar包 http://repo1.maven.org/maven2/com/google/zxing/core/3.3.0/core-3.3.0.jar
  • 2 AS導(dǎo)入工程中的app目錄下新建libs目錄(默認(rèn)沒有), 將core-3.3.0.jar 拷貝進(jìn)入。
  • 3 選中core-3.3.0.jar右鍵,選擇Add As Library... 將jar包添加到依賴中
  • 4 再次編譯,查看結(jié)果,還是會有問題。
jar包快速依賴

這種方式會在app目錄中對應(yīng)的build.gradle 增加一行 。

compile files('libs/core-3.3.0.jar')

如上運行還是有錯誤, 提示:

提示找不到CameraConfigurationUtils

沒有導(dǎo)入android-core, 從zxing源碼中zxing\android-core\src\main\java\com\google\zxing\client\android\camera 拷貝 CameraConfigurationUtils.java

拷貝Camera...
  • 5 再次編譯,成功生成apk,小米5手機測試OK。
    以上方法甚是覺得累贅,因為我們需要的是zxing核心庫 core, android-core, 庫的開發(fā)者肯定已經(jīng)放在了AS對應(yīng)的倉庫中了,接下來只要很簡單的 添加2個依賴就可以把該Demo所需的依賴庫下載,為我所用。
    請看,下面的步驟。

ZXing依賴庫導(dǎo)入

大家對build.gradle肯定不陌生,就是AS項目的配置文件,既然Demo需要依賴zxing核心庫,步驟如下:

  • AS工程目錄app下的build.gradle 添加 依賴
dependencies {
        compile 'com.google.zxing:core:3.3.0';
        compile 'com.google.zxing:android-core:3.3.0';
}

為什么知道是這些,簡單。ZXing使用Maven來管理的,所以每個目錄會有個pom.xml文件。找到zxing源碼根目錄下的pom.xml文件, 搜索關(guān)鍵字 android-core, core

<dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>${zxing.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>android-core</artifactId>
        <version>${zxing.version}</version>
      </dependency>

再結(jié)合上述AS的依賴,一看就知道 compile '組織名稱:制品名稱:版本號';

小結(jié)

以上所有步驟小結(jié)為

  • git clone 或者 下載zxing-3.3.0源碼,將其中android目錄導(dǎo)入AS
  • 添加依賴
  • 編譯apk

不建議下載zxing 核心庫源碼,自己編譯成jar包,理由很簡單,沒必要!

  • 因為常用場景不會去改動core核心庫,里面基本是算法相關(guān)。
  • 徒勞新增了Demo的文件量
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評論 25 708
  • 一.榜單介紹 排行榜包括四大類: 單一框架:僅提供路由、網(wǎng)絡(luò)層、UI層、通信層或其他單一功能的框架 混合開發(fā)框架:...
    偉子男閱讀 5,378評論 0 161
  • 有的人是一見如故,有的人一故如初見。
    尹理想閱讀 183評論 0 0
  • 陜西.安康.旬陽,一個接近天空的美麗的地方!
    Shawn是個工程師閱讀 279評論 0 1
  • 求簽 昨天說好今天去廟里拜菩薩. 外婆早上六點就把我叫醒了。 來到寺廟拜完菩薩。 ...
    余茜璟閱讀 358評論 0 0

友情鏈接更多精彩內(nèi)容