Android二維碼開源項目zxing編譯


首先這里是自己花了整整一個下午的時間查找整理出來的,借鑒了一個比較不錯博客,也很感謝他的詳細步驟。

支持的格式如下:

 

我的環境是win8.1專業版。

zxing官網說明:https://github.com/zxing/zxing/wiki/Getting-Started-Developing

源碼下載:https://github.com/zxing/zxing

或者releases版本:https://github.com/zxing/zxing/releases(其實都差不多一樣)

 

 

需要的工具:

Ant: http://ant.apache.org/bindownload.cgi

 

 

Maven: http://maven.apache.org/download.cgi

 

 

然后下載的東西都解壓我的是桌面臨時創建的一個文件夾test

下面就是分別配置ant和Maven環境變量了,至於怎么進入系統環境變量,我就不那么墨跡的說了,只給截圖我認為關鍵的地方。

兩個方法一樣,我這里配置ant一個給大家看看:

就是你剛剛解壓的位置我的如下到bin目錄下復制

C:\Users\xiang\Desktop\test\apache-ant-1.9.4-bin\apache-ant-1.9.4\bin;

 

 

path里面最后加英文分號,然后把我的那個路徑貼進去,你們的都要貼自己的路徑,

然后運行cmd,輸入ant驗證

 

 

這就ok了。

Maven的配置方法不在贅述,

 

 

這就ok了。

確保你已經有了java運行環境,如JAVA_HOME、CLASSPATH、PATH都配置好了

進入到zxing-master\android目錄,輸入命令:android update project --path .

(上面的命令不要省略“--”和后面的點)

 

 1 C:\Users\xiang\Desktop\test\zxing-master\android>android update project --path.
 2 Error: Flag '--path.' is not valid for 'update project'.
 3 
 4        Usage:
 5        android [global options] update project [action options]
 6        Global options:
 7   -h --help       : Help on a specific command.
 8   -v --verbose    : Verbose mode, shows errors, warnings and all messages.
 9      --clear-cache: Clear the SDK Manager repository manifest cache.
10   -s --silent     : Silent mode, shows errors only.
11 
12                          Action "update project":
13   Updates an Android project (must already have an AndroidManifest.xml).
14 Options:
15   -l --library    : Directory of an Android library to add, relative to this
16                     project's directory.
17   -p --path       : The project's directory. [required]
18   -n --name       : Project name.
19   -t --target     : Target ID to set for the project.
20   -s --subprojects: Also updates any projects in sub-folders, such as test
21                     projects.

 

出錯了,需要我們提供一個target,輸入命令:android list targets

 

C:\Users\xiang\Desktop\test\zxing-master\android>android list targets
Available Android targets:
----------
id: 1 or "android-8"
     Name: Android 2.2
     Type: Platform
     API level: 8
     Revision: 3
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854
 Tag/ABIs : default/armeabi
----------
id: 2 or "android-18"
     Name: Android 4.3.1
     Type: Platform
     API level: 18
     Revision: 3
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a, default/x86
----------
id: 3 or "android-19"
     Name: Android 4.4.2
     Type: Platform
     API level: 19
     Revision: 4
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a, default/x86
----------
id: 4 or "android-21"
     Name: Android 5.0
     Type: Platform
     API level: 21
     Revision: 1
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default
/x86, default/x86_64
----------
id: 5 or "Google Inc.:Google APIs:8"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 2
     Description: Android + Google APIs
     Based on Android 2.2 (API level 8)
     Libraries:
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854
 Tag/ABIs : default/armeabi
----------
id: 6 or "Google Inc.:Google APIs:18"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 3
     Description: Android + Google APIs
     Based on Android 4.3.1 (API level 18)
     Libraries:
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a
----------
id: 7 or "Google Inc.:Glass Development Kit Preview:19"
     Name: Glass Development Kit Preview
     Type: Add-On
     Vendor: Google Inc.
     Revision: 10
     Description: Preview of the Glass Development Kit
     Based on Android 4.4.2 (API level 19)
     Libraries:
      * com.google.android.glass (gdk.jar)
          APIs for Glass Development Kit Preview
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : no ABIs.
----------
id: 8 or "Google Inc.:Google APIs:19"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 8
     Description: Android + Google APIs
     Based on Android 4.4.2 (API level 19)
     Libraries:
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a
----------
id: 9 or "Google Inc.:Google APIs (x86 System Image):19"
     Name: Google APIs (x86 System Image)
     Type: Add-On
     Vendor: Google Inc.
     Revision: 8
     Description: Android x86 + Google APIs
     Based on Android 4.4.2 (API level 19)
     Libraries:
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/x86
----------
id: 10 or "Google Inc.:Google APIs:21"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 1
     Description: Android + Google APIs
     Based on Android 5.0 (API level 21)
     Libraries:
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : no ABIs.

 

根據輸出的ID,加上target,命令:android update project --target 2 --path .

 

C:\Users\xiang\Desktop\test\zxing-master\android>android update project --target
 2 --path .
Updated and renamed default.properties to project.properties
Updated local.properties
No project name specified, using Activity name 'CaptureActivity'.
If you wish to change it, edit the first line of build.xml.
Added file C:\Users\xiang\Desktop\test\zxing-master\android\build.xml
Added file C:\Users\xiang\Desktop\test\zxing-master\android\proguard-project.txt

 

會生成以下文件:

 

 

上面生成的文件我已經標注出來了。

其中:local.properties文件的內容是:SDK的目錄

 

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.

# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=D:\\adt-bundle-windows-x86_64-20130917\\sdk

 

編譯jar包在zxing-master\core目錄下輸入:mvn -DskipTests -Dgpg.skip=true install

這里有些地方可能被和諧,導致無法下載,至於翻牆或者怎么的,各自顯神通吧。

我的成功后如下,你們看看

 

 

這就表明ok了。

運行完之后core目錄下會生成一個target目錄,其中:core-3.1.0.jar就是我們需要的jar包

 

 

這個后綴名跟選的版本有點關系,都能使用,我選的這個是id為2的,也就是4.3.1。

我也選過5.0那個,出來的效果是一樣的,直接就可以使用了。

下面開始編譯Android項目,生成apk了,這里有兩種方法:

一、命令實現

繼續在cmd下執行,進入zxing-master\android里輸入ant debug

 

C:\Users\xiang\Desktop\test\zxing-master\android>ant debug
Buildfile: C:\Users\xiang\Desktop\test\zxing-master\android\build.xml

-set-mode-check:

-set-debug-files:

-check-env:
 [checkenv] Android SDK Tools Revision 23.0.5
 [checkenv] Installed at D:\adt-bundle-windows-x86_64-20130917\sdk

-setup:
     [echo] Project Name: CaptureActivity
  [gettype] Project Type: Application

-set-debug-mode:

-debug-obfuscation-check:

-pre-build:

-build-setup:
[getbuildtools] Using latest Build Tools: 21.0.2
     [echo] Resolving Build Target for CaptureActivity...
[gettarget] Project Target:   Android 4.3.1
[gettarget] API level:        18
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\re
s
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\rs
Obj
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\rs
Libs
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\gen
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\cl
asses
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\de
xedLibs
     [echo] ----------
     [echo] Resolving Dependencies for CaptureActivity...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency]
[dependency] ------------------
     [echo] ----------
     [echo] Building Libraries with 'debug'...
   [subant] No sub-builds to iterate on

-code-gen:
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Generating resource IDs...
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.

-pre-compile:

-compile:
    [javac] Compiling 75 source files to C:\Users\xiang\Desktop\test\zxing-maste
r\android\bin\classes
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:57: 錯誤: 找不到符號
    [javac]     cameraResolution = CameraConfigurationUtils.findBestPreviewSizeV
alue(parameters, screenResolution);
    [javac]                        ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:79: 錯誤: 找不到符號
    [javac]     CameraConfigurationUtils.setFocus(
    [javac]     ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:87: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setInvertColor(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:91: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setBarcodeSceneMode(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:95: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setVideoStabilization(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:96: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setFocusArea(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:97: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setMetering(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:151: 錯誤: 找不到符號
    [javac]     CameraConfigurationUtils.setTorch(parameters, newSetting);
    [javac]     ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:154: 錯誤: 找不到符號
    [javac]       CameraConfigurationUtils.setBestExposure(parameters, newSettin
g);
    [javac]       ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] 9 個錯誤

BUILD FAILED
D:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:720: The following
 error occurred while executing this line:
D:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:734: Compile faile
d; see the compiler error output for details.

Total time: 4 seconds

C:\Users\xiang\Desktop\test\zxing-master\android>

 

一般有兩個問題:

一、[gettarget] WARNING: Attribute minSdkVersion in AndroidManifest.xml (15) is higher than the project target API level (14)
原因是:

project.properties文件中配置的target=android-14而AndroidManifest.xml文件中

<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="19"/>

修改ses-sdk android:minSdkVersion="14"就可以了。 

(這個我的版本比較高,就沒有報這個錯)

二、是JDK版本的問題

修改:D:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml

<!-- compilation options -->
    <property name="java.encoding" value="UTF-8" />
    <property name="java.target" value="1.5" />
    <property name="java.source" value="1.5" />
    <property name="java.compilerargs" value="" />
    <property name="java.compiler.classpath" value="" />

為如下

<!-- compilation options -->
    <property name="java.encoding" value="UTF-8" />
    <property name="java.target" value="7" />
    <property name="java.source" value="7" />
    <property name="java.compilerargs" value="" />
    <property name="java.compiler.classpath" value="" />

改好之后又有新問題了

C:\Users\xiang\Desktop\test\zxing-master\android>ant debug
Buildfile: C:\Users\xiang\Desktop\test\zxing-master\android\build.xml

-set-mode-check:

-set-debug-files:

-check-env:
 [checkenv] Android SDK Tools Revision 23.0.5
 [checkenv] Installed at D:\adt-bundle-windows-x86_64-20130917\sdk

-setup:
     [echo] Project Name: CaptureActivity
  [gettype] Project Type: Application

-set-debug-mode:

-debug-obfuscation-check:

-pre-build:

-build-setup:
[getbuildtools] Using latest Build Tools: 21.0.2
     [echo] Resolving Build Target for CaptureActivity...
[gettarget] Project Target:   Android 4.3.1
[gettarget] API level:        18
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\rs
Obj
    [mkdir] Created dir: C:\Users\xiang\Desktop\test\zxing-master\android\bin\rs
Libs
     [echo] ----------
     [echo] Resolving Dependencies for CaptureActivity...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency]
[dependency] ------------------
     [echo] ----------
     [echo] Building Libraries with 'debug'...
   [subant] No sub-builds to iterate on

-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Found Deleted Target File
     [aapt] Generating resource IDs...
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.

-pre-compile:

-compile:
    [javac] Compiling 73 source files to C:\Users\xiang\Desktop\test\zxing-maste
r\android\bin\classes
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:57: 錯誤: 找不到符號
    [javac]     cameraResolution = CameraConfigurationUtils.findBestPreviewSizeV
alue(parameters, screenResolution);
    [javac]                        ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:79: 錯誤: 找不到符號
    [javac]     CameraConfigurationUtils.setFocus(
    [javac]     ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:87: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setInvertColor(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:91: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setBarcodeSceneMode(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:95: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setVideoStabilization(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:96: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setFocusArea(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:97: 錯誤: 找不到符號
    [javac]         CameraConfigurationUtils.setMetering(parameters);
    [javac]         ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:151: 錯誤: 找不到符號
    [javac]     CameraConfigurationUtils.setTorch(parameters, newSetting);
    [javac]     ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxin
g\client\android\camera\CameraConfigurationManager.java:154: 錯誤: 找不到符號
    [javac]       CameraConfigurationUtils.setBestExposure(parameters, newSettin
g);
    [javac]       ^
    [javac]   符號:   變量 CameraConfigurationUtils
    [javac]   位置: 類 CameraConfigurationManager
    [javac] 9 個錯誤

BUILD FAILED
D:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:720: The following
 error occurred while executing this line:
D:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:734: Compile faile
d; see the compiler error output for details.

Total time: 4 seconds

C:\Users\xiang\Desktop\test\zxing-master\android>

 

沒有CameraConfigurationUtils類

搜索下就可以找到,應該在android-core里面有這個類

直接把這個目錄拷貝到C:\Users\xiang\Desktop\test\zxing-master\android\src\com\google\zxing\client\android\camera里面

 

 

然后再編譯,效果圖如下,不用多說了

 

 

apk已經生成了。你看看

 

 

看bin里已經有對應的apk了,自己跑跑看。

二、第二種方法就是直接導入到Eclipse,這種方法我不再詳細演示了,直接導入android項目,然后把添加lib文件夾,放入前面生成的jar包,

加入對應的那個類

運行的時候可能會報錯。

 

12-11 17:36:01.470: E/AndroidRuntime(13311): FATAL EXCEPTION: main
12-11 17:36:01.470: E/AndroidRuntime(13311): java.lang.ExceptionInInitializerError
12-11 17:36:01.470: E/AndroidRuntime(13311):     at java.lang.Class.newInstanceImpl(Native Method)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at java.lang.Class.newInstance(Class.java:1319)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at com.lbe.security.service.core.client.b.x.newActivity(Unknown Source)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1996)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2106)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.app.ActivityThread.access$600(ActivityThread.java:137)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.os.Looper.loop(Looper.java:137)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at android.app.ActivityThread.main(ActivityThread.java:4819)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at java.lang.reflect.Method.invokeNative(Native Method)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at java.lang.reflect.Method.invoke(Method.java:511)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-11 17:36:01.470: E/AndroidRuntime(13311):     at dalvik.system.NativeStart.main(Native Method)
12-11 17:36:01.470: E/AndroidRuntime(13311): Caused by: java.lang.NoClassDefFoundError: com.google.zxing.ResultMetadataType
12-11 17:36:01.470: E/AndroidRuntime(13311):     at com.google.zxing.client.android.CaptureActivity.<clinit>(CaptureActivity.java:93)
12-11 17:36:01.470: E/AndroidRuntime(13311):     ... 16 more

 

按照網上很多說法

到處搜索解決方案,終於在google的幫助下解決了。
在eclipse中 Properties -> Java Build Path -> "Order and Export"
在Order and Export選項卡中將core.jar提前到第一位 並選中它 
然后clean你的工程,這一步非常重要,別忘記了
重新編譯運行就可以了

估計是在core.jar之前的包里已經有了同名的class所以編譯之后產生的apk運行時找不到真正的引用。而且這個包也需要被同時發布到程序中去

如果還是有錯誤的話,那就缺少了javase-3.1.0.jar庫

生成辦法跟core一樣C:\Users\xiang\Desktop\test\zxing-master\javase>mvn -DskipTests -Dgpg.skip=true install

后面我就不貼圖了,同樣把對應的包放入lib然后add buildpath編譯,還有問題,你就考慮考慮吧Eclipse換個高版本的吧。

至於掃描效果圖,我真機也就不展示了,截個圖給你們看看吧

 

 

完整正常運行源碼如下:

http://download.csdn.net/detail/u011348453/8249681

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM