2014-04-19 62 views
0

我正在創建一個「Hello World」AAC流播放器。java.lang.UnsatisfiedLinkError:無法從加載程序加載aacdecoder

我的步驟:

  1. 在ADT的Eclipse v22.6.2,我創建了一個新的Android應用程序,一切默認設置。
  2. 下載aacdecoder-android-libs-0.8.ziphere
  3. 這一切提取到我的項目的libs文件夾中。

增加了以下進口活動:

import com.spoledge.aacdecoder.AACPlayer; 

添加以下到onCreate(...)方法的末尾:

AACPlayer aacPlayer = new AACPlayer(); 
aacPlayer.playAsync("http://prem4.di.fm:80/trance?gzufXm01F8D2Y6hj2");   

並運行它。我得到的錯誤:

Could not find class 'com.spoledge.aacdecoder.AACPlayer', referenced from method com.example.cardi.MainActivity.onCreate

閱讀一些做題之後,即跳出我的唯一的事情是,在「項目」>「訂單和導出」選項卡需要「屬性」>「Java構建路徑」和誰玩。之前:

enter image description here

我改變什麼做的一點點進步:

  • 經過的aacdecoder進入
  • 移動aacdecoder進入頂端

,導致此錯誤:

java.lang.UnsatisfiedLinkError: Couldn't load aacdecoder from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.example.cardi-1.apk,libraryPath=/data/app-lib/com.example.cardi-1]: findLibrary returned null

每當我回到Android,我都覺得很蠢。請幫忙!

+0

我有一個類似的問題...項目沒有錯誤,除了文件寫入權限被鎖定...啓用後寫入錯誤停止... – CrandellWS

+0

可能[此鏈接] [1]將幫助你... [1]:http://stackoverflow.com/a/25347930/3843374 – Paritosh

回答

1

檢查你的lib文件夾它是否包含filename.so文件。這個錯誤,我們只有當這個ndk文件錯過了。

或者您的軟件包名稱與您的Native C或C++代碼不匹配。

例如:你的包的名字是​​和類名是Test

然後你從JNI調用的方法應該象下面這樣聲明。

com_example_project_Test_sum(......) { 

} 

這裏總和是你的本地方法的名稱。希望這會幫助你。

6

事實證明,這是一件非常簡單的事情,在其他問題和答案中已經指出,但沒有完全明確。所以對於任何人拔出他們的頭髮,在這裏,它是勺子喂:

圖書館進來一個zip文件,aacdecoder-android-libs-0.8.zip

它具有以下目錄結構:

aacdecoder-android-libs-0.8.zip 
    > aacdecoder-android-libs-0.8 
     > aacdecoder-android-0.8.jar 
     > armeabi 
      > libaacdecoder.so 
     > armeabi-v7a 
      > libaacdecoder.so 
     > mips 
      > libaacdecoder.so 
     > x86 
      > libaacdecoder.so 

究竟會不會工作正在複製的zip的內容到應用程序的文件夾libs。相反,您必須將FOLDER的內容複製到zip文件中的libs文件夾中。因此,例如,目錄結構將是:

c:/users/me/EclipseWorkspace/Myproject/libs/

> aacdecoder-android-0.8.jar 
> armeabi 
    > libaacdecoder.so 
> armeabi-v7a 
    > libaacdecoder.so 
> mips 
    > libaacdecoder.so 
> x86 
    > libaacdecoder.so 

然後去項目>屬性> Java構建路徑>庫>添加JAR文件,並選擇JAR包。
然後轉到Project> Properties> Java Build Path> Order and Export。檢查JAR,並將其移至頂部。

Voila。頭髮長回

1

我不確定你是否找到了你的問題的答案,但我是從我的項目中的libs文件夾被錯誤地命名(是lib而不是libs)。我的問題是由於意外刪除了我的項目,必須通過從手機中提取APK來恢復它。一旦我重命名文件夾,我的問題就解決了。希望有所幫助。

相關問題