在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Maven 編譯開(kāi)源二維碼掃描項(xiàng)目 zxing
多分辨率適配常用目錄
Android 開(kāi)發(fā)環(huán)境(Eclipse+ADT+Android 5.0)
Android 原型設(shè)計(jì)工具探索
Makefile 快速入門(mén)
Android Studio的NDK開(kāi)發(fā)
人臉檢測(cè)-靜態(tài)
getprop 與 dumpsys 命令
Maven 編譯開(kāi)源二維碼掃描項(xiàng)目 zxing
畫(huà)布 Canvas
組合控件
Linux 下的模擬器硬件加速
讀取 Excel
android.hardware.camera2 使用指南
橫豎屏切換
Ubuntu 下切換 JDK 版本
拍照和錄像 with Camera
文本與布局
按鈕控制 ViewPager 的左右翻頁(yè)
用 TableLayout 偽裝表格顯示數(shù)據(jù)
Preference Activity 使用詳解
模擬器如何重啟?試試 Genymotion!
獲得屏幕物理尺寸、密度及分辨率
語(yǔ)音識(shí)別
了解 native activity
Android Studio 導(dǎo)入第三方類庫(kù)、jar 包和 so 庫(kù)
啟動(dòng)另一個(gè) App/apk 中的 Activity
APK 簽名
兩個(gè)開(kāi)源的圖表/報(bào)表控件
android studio 導(dǎo)出 jar 包(Module)并獲得手機(jī)信息
圖片的 Base64 編解碼
混淆與反編譯
Android Studio 和 Gradle
Android 5.1 SDK 下載與配置
persistableMode 與 Activity 的持久化
adb 取出安裝在手機(jī)中的 apk
Android Studio 中的源代碼管理
Handler 使用中可能引發(fā)的內(nèi)存泄漏

Maven 編譯開(kāi)源二維碼掃描項(xiàng)目 zxing

擁有自己的手機(jī)軟件工具箱是件非常有意義的事情。就目前國(guó)內(nèi) Android 的生態(tài)環(huán)境來(lái)說(shuō),混亂的不能再亂了。由于我們登錄不了官網(wǎng) App 商店,下軟件就只好在國(guó)內(nèi)五花八門(mén)的軟件市場(chǎng)下載。由于這些市場(chǎng)的監(jiān)管不力,什么樣的軟件都有,就拿二維碼掃描軟件來(lái)說(shuō),好多都帶那種狗皮膏藥一樣的廣告插件,真是特別討厭。

在開(kāi)源世界中有很多優(yōu)秀的軟件,其中 zxing 就是非常好的 Android 掃碼工具軟件。我們可以拿來(lái)即用還可以學(xué)習(xí)內(nèi)部機(jī)制,然后做些定制化個(gè)性化。既可以自己享用,又可以跟大家分享。真是不錯(cuò)。

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

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

源碼很多,里面的 pom.xml 告訴我們需要用 maven 編譯??上н@個(gè)構(gòu)建工具我用的并熟練,一切都要摸索著來(lái)。

Maven 官網(wǎng):https://maven.apache.org

在ubuntu下的安裝是很簡(jiǎn)單的,下載 apache-maven-3.3.1-bin.zip 解壓(unzip)到你喜歡的目錄下如 /opt/apache-maven-3.3.1/ 。并將環(huán)境變量設(shè)置好,~/.bashrc 下填入下面內(nèi)容:

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

前提是你的 Java7環(huán)境已經(jīng)配好。請(qǐng)參考 Android 實(shí)戰(zhàn)技巧之八:Ubuntu 下切換 JDK 版本

下面是我的 mvn 環(huán)境:

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

對(duì)于 zxing 的編譯,我沒(méi)有找到相關(guān)的文檔,所以都是我這個(gè) maven 新人不斷的摸索,雖然不是特別正規(guī),但是達(dá)到我的目的是真的。

先在 zxing 根目錄下執(zhí)行 mvn compile,好家伙,一個(gè)勁的下載依賴包,都說(shuō)這第一次編譯需要下載大量的包,如果我沒(méi)有做代理或庫(kù)的更改,那么需要漫長(zhǎng)的等待。

我晚上跑步將近一個(gè)小時(shí),以為回來(lái)就編譯好了。可是令我大失所望,雖然包下完了,但是編譯有問(wèn)題。再次執(zhí)行,這次編譯沒(méi)有報(bào)錯(cuò),但是我搜遍目錄沒(méi)有找到 jar 包。這是有問(wèn)題的,我還是按照自己的節(jié)奏來(lái)工作吧。

android 目錄是一個(gè) eclipse 項(xiàng)目,我直接轉(zhuǎn)換為 AS 工程然后編譯發(fā)現(xiàn)少了好多 zxing 的類。

android-core 下的 pom 是這樣的:

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

沒(méi)有其他依賴,直接編譯成 jar。我執(zhí)行 mvn package,漫長(zhǎng)的等待后 jar 包編譯出來(lái)了。

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

我引入這個(gè) jar,發(fā)現(xiàn)里面只有一個(gè)類 com.google.zxing.client.android.camera.CameraConfigurationUtils

這顯然還不夠。

core 目錄才是重點(diǎn),同樣 mvn package 再等待,如果中途遇到依賴其他目錄的 jar 就去編譯之。

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

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