Android二維碼識別 開源項目ZXing的編譯
Android端的條形碼/二維碼識別功能
因為手機端的輸入不是很方便,所以條形碼/二維碼的掃描是一種很有效的解決手段。
比較流行的手機應用中,常用的二維碼掃描實現,是使用了開源庫——ZXing:http://code.google.com/p/zxing/
據項目主頁的介紹,這個開源項目是用Java實現的,用手機自帶的攝像頭,掃描條形碼/二維碼,不需要和服務器通信(當然這個項目也可以用於PC和服務器),就可以做一維或二維碼的識別。
支持的各種碼格式很多:
下面就介紹一下如何編譯運行這個項目。
下載項目
去http://code.google.com/p/zxing/downloads/list下載最新的項目:命名是ZXing-x.y.zip
目前(2013.08.29)最新的版本號是2.2:
即 ZXing-2.2.zip:http://code.google.com/p/zxing/downloads/detail?name=ZXing-2.2.zip&can=2&q=
下載后,解壓得到的目錄如下:
我們其實只用到了android和core兩個目錄。
直接使用編譯好的Jar包
根據http://code.google.com/p/zxing/wiki/GettingStarted
上說的,如果你想直接使用編譯好的jar包,那么直接去:http://repo1.maven.org/maven2/com/google/zxing/ 下載jar包即可。
我們這里需要的是core下的jar包。下載core-2.2.jar即可。
然后,在Eclipse中,導入zxing-2.2\android下的項目,導入后會有一些錯誤。
新建libs目錄,將剛才下載的core-2.2.jar拷貝進去,錯誤就都消失了。
然后就直接右鍵項目Run即可。
如果想自己編譯,也算是很方便。下面講講。
編譯工具准備
首先得准備兩個工具:
Maven: http://maven.apache.org/
下載鏈接:
Ant: http://ant.apache.org/bindownload.cgi
Maven: http://maven.apache.org/download.cgi
下載后放在合適的路徑下解壓縮,然后將bin目錄添加到環境變量Path中即可。兩個都是。
可以在cmd中查看版本號來驗證配置是否成功:
手動編譯的配置
首先,從命令行進入到zxing-2.2目錄下:
輸入如下命令:
android update project --path android
成功后就可以看到zxing-2.2\android目錄下新增了一個名為local.properties的文件,里面內容是:sdk.dir=你的Android SDK目錄。
編譯Jar包
首先編譯core,方法如下:
命令行進入到zxing-2.2\core路徑下,輸入命令:
mvn -DskipTests -Dgpg.skip=true install
運行完之后core目錄下會生成一個target目錄。
里面就有編譯好的各種東西,包括文檔、需要的Jar包等(比如我的這個叫core-2.3-SNAPSHOT.jar)。
編譯Android項目
首先,把剛才生成的jar包(core-2.3-SNAPSHOT.jar)拷貝進zxing-2.2\android目錄下的libs目錄。
然后,命令行進入到zxing-2.2\android路徑下,輸入命令:
ant debug
生成的bin目錄下就包含了.apk。
(如果關聯了360手機助手或者豌豆莢,USB連接手機后,雙擊這個.apk即可安裝應用,因為是debug版的,所以會提示是山寨應用。)
當然,也可以將Android程序導入Eclipse,libs中添加Jar包之后右鍵項目來編譯和運行,如前所述。
參考資料
ZXing項目地址:
http://code.google.com/p/zxing/
GettingStarted:
http://code.google.com/p/zxing/wiki/GettingStarted
博客:
http://www.cnblogs.com/keyindex/archive/2011/06/08/2074900.html