2015-03-03 142 views
1

我有一个android项目(Inellij IDEA)。我已从官方网站下载BASS库,并将lib文件夹中的内容复制到我的项目文件夹libs/。但是,当我尝试用System.loadLibrary("bass");加载它,它抛出一个错误:加载.so库的问题

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip 
file "/data/app/com.negi.opengltest-1/base.apk"],nativeLibraryDirectories= 
[/vendor/lib, /system/lib]]] couldn't find "libbass.so" 

我在做什么错?也许,我需要更改gradle配置?

UPD:答案就在这里un4seen.com/forum/?topic=15633.msg110256#msg110256

+2

请尝试http://www.un4seen.com/forum/?topic=15633.msg110256#msg110256 – EpicPandaForce 2015-03-03 09:21:18

+0

@EpicPandaForce太感谢你了! – 2015-03-03 09:38:49

回答

3

下面的解决方案是从http://www.un4seen.com/forum/?topic=15633.msg110256#msg110256

1 mkdir lib, then, copy armeabi to lib, the tree should be lib/armeeabi/libbass.so 
2 zip lib directory: $zip -r libbass.zip lib 
3 rename: $mv libbass.zip libbass.jar 
4 copy libbass.jar to YourProject/Youproject/src/main/libs ("YourProject/Youproject/src/main/" includes AndroidManifests.xml, res, java, libs) 
5 add this line: 
    compile fileTree(dir: 'libs', include: '*.jar') 
    to your build.gradle---->dependencies 
-1

在我的情况下,这是相互矛盾的Crashlytics。当我在build.gradle中评论下面的行时,一切都很顺利。

// compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
//  transitive = true; 
// } 
// compile('com.crashlytics.sdk.android:crashlytics-ndk:[email protected]') { 
//  transitive = true; 
// }