2013-09-01 41 views
3

我使用最新的Android Studio 0.2.6和最新的ZBar Android SDK。什麼到目前爲止,我已經做了:Android Studio 0.2.6和ZBar項目設置

  1. 創建了一個名爲QRTest一個全新的項目
  2. 創建在我的項目
  3. 一個文件夾,名爲庫把zbar和庫目錄的內容到我的項目文件夾
  4. 權點擊zbar.jar文件在我的項目,並添加爲圖書館
  5. 在我的build.gradle文件,編輯它,以便它現在是:

    依賴{ 編譯「com.android.support:support-v4:13.0.0」 編譯文件(「庫/ zbar.jar」) }

  6. 基本上覆制從zbar和Android SDK中例如示例代碼,以我自己的項目。
  7. 該項目編譯並運行良好(0錯誤,0警告),但運行時崩潰。該日誌顯示:

09-01 16:06:02.026: W/dalvikvm(7050): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lnet/sourceforge/zbar/ImageScanner;

09-01 16:06:02.036: E/AndroidRuntime(7050): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1891]: 209 could not load needed library 'libiconv.so' for 'libzbarjni.so' (load_library[1093]: Library 'libiconv.so' not found)

09-01 16:06:02.036: E/AndroidRuntime(7050): at net.sourceforge.zbar.ImageScanner.(Unknown Source)

在我的MainActivity代碼看,它似乎是死在這裏:

/* Instance barcode scanner */ 
scanner = new ImageScanner(); 

這似乎暗示我,不知怎的,我還沒有進口我zbar和庫文件正確。任何幫助如何得到這個非常基本的例子,將不勝感激!

需要注意的是,如果我使用Android Studio從ZBar Android SDK示例導入新項目,它將編譯並運行正常。但是,它正在使用舊的螞蟻構建系統。我寧願使用新的gradle構建系統,這就是爲什麼我要將ZBar導入到全新的Android 0.2.6項目中。謝謝!

另一個注意:我試着修改我的構建gradle到這裏接受的答案:How to change libs directory in Gradle?,它沒有工作。

enter image description here

+0

你好,我現在面臨同樣的問題。你知道如何將zBar導入到Android Studio嗎? – F1sher

回答

12

解決方案:

  1. 添加zbar.jar到應用程序/庫

  2. 創建一個src下稱 「jniLibs」 -Java本地接口(JNI)/主文件夾,複製文件夾armeabi,V7A ,armeabi和x86到src/main/jniLibs中。

文件結構如下圖所示:

src/main/jniLibs/armeabi-v7a
src/main/jniLibs/armeabi
src/main/jniLibs/x86

  • 轉到文件>項目結構>應用程序>相關性>添加支持-V4到項目
  • +0

    謝謝,你是男人 – SamChen

    +0

    能不能使用Gradle? – Zapnologica

    +0

    你做了我的一天。真棒! – Anu