【问题标题】:Trouble with loading .so library加载 .so 库时出现问题
【发布时间】:2015-05-03 20:52:41
【问题描述】:

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

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 配置?

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

【问题讨论】:

标签: java android bass bass.dll


【解决方案1】:

以下解决方案来自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

【讨论】:

    【解决方案2】:

    在我的情况下,冲突的是 Crashlytics。当我在 build.gradle 的下面几行评论时,一切顺利。

    //    compile('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') {
    //        transitive = true;
    //    }
    //    compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.6@aar') {
    //        transitive = true;
    //    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2012-09-06
      • 1970-01-01
      相关资源
      最近更新 更多