Android實戰技巧之二十七:Maven編譯開源二維碼掃描項目zxing

來源:互聯網
上載者:User

標籤:zxing   二維碼掃描   maven   

擁有自己的手機軟體工具箱是件非常有意義的事情。就目前國內Android的生態環境來說,混亂的不能再亂了。由於我們登入不了官網App商店,下軟體就只好在國內五花八門的軟體市場下載。由於這些市場的監管不力,什麼樣的軟體都有,就拿二維碼掃描軟體來說,好多都帶那種狗皮膏藥一樣的廣告外掛程式,真是特別討厭。
在開源世界中有很多優秀的軟體,其中zxing就是非常好的Android掃碼工具軟體。我們可以拿來即用還可以學習內部機制,然後做些定製化個人化。既可以自己享用,又可以跟大家分享。真是不錯。

zxing在github:https://github.com/zxing/zxing

zxing-master$ lsandroid       android-integration  AUTHORS  CONTRIBUTING.md  core   javase  pom.xml    src                zxingorgandroid-core  androidtest          CHANGES  COPYING          glass  NOTICE  README.md  zxing.appspot.com

源碼很多,裡面的pom.xml告訴我們需要用maven編譯。可惜這個構建工具我用的並熟練,一切都要摸索著來。

Maven官網:https://maven.apache.org
在ubuntu下的安裝是很簡單的,下載apache-maven-3.3.1-bin.zip解壓(unzip)到你喜歡的目錄下如/opt/apache-maven-3.3.1/ 。並將環境變數設定好,~/.bashrc下填入下面內容:

#Maven export PATH="$PATH:/opt/apache-maven-3.3.1/bin"export MAVEN_OPTS="-Xms256m -Xmx512m"

前提是你的java7環境已經配好。請參考Android實戰技巧之八:Ubuntu下切換JDK版本

下面是我的mvn環境:

$ mvn -vApache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-14T04:10:27+08:00)Maven home: /opt/apache-maven-3.3.1Java version: 1.7.0_71, vendor: Oracle CorporationJava home: /opt/jdk/jdk1.7.0_71/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux", version: "3.13.0-49-generic", arch: "amd64", family: "unix"

對於zxing的編譯,我沒有找到相關的文檔,所以都是我這個maven新人不斷的摸索,雖然不是特別正規,但是達到我的目的是真的。

先在zxing根目錄下執行mvn compile,好傢夥,一個勁的下載依賴包,都說這第一次編譯需要下載大量的包,如果我沒有做代理或庫的更改,那麼需要漫長的等待。

我晚上跑步將近一個小時,以為回來就編譯好了。可是令我大失所望,雖然包下完了,但是編譯有問題。再次執行,這次編譯沒有報錯,但是我搜遍目錄沒有找到jar包。這是有問題的,我還是按照自己的節奏來工作吧。

android目錄是一個eclipse項目,我直接轉換為AS工程然後編譯發現少了好多zxing的類。

android-core下的pom是這樣的:

  <artifactId>android-core</artifactId>  <version>3.2.1-SNAPSHOT</version>  <packaging>jar</packaging>

沒有其他依賴,直接編譯成jar。我執行mvn package,漫長的等待後jar包編譯出來了。

$ ls android-core/target/android-core-3.2.1-SNAPSHOT.jar

我引入這個jar,發現裡面只有一個類com.google.zxing.client.android.camera.CameraConfigurationUtils
這顯然還不夠。
core目錄才是重點,同樣mvn package再等待,如果中途遇到依賴其他目錄的jar就去編譯之。

$ ls core/target/core-3.2.1-SNAPSHOT.jar

再將其引入android工程,編譯成功!

Android實戰技巧之二十七:Maven編譯開源二維碼掃描項目zxing

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.