【发布时间】:2014-07-17 12:38:28
【问题描述】:
我在我的android项目中使用Echoprint,正如here所解释的那样,它工作正常。但是,当我尝试将metaioSDK 库添加到项目中时(只是添加它,甚至不使用它),我无法再运行 Echoprint。我明白了:
07-17 14:20:34.194: E/AndroidRuntime(3681): FATAL EXCEPTION: Thread-92046
07-17 14:20:34.194: E/AndroidRuntime(3681): java.lang.UnsatisfiedLinkError: Couldn't load echoprint-jni from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.example.kkt-1.apk,libraryPath=/data/app-lib/com.example.kkt-1]: findLibrary returned null
07-17 14:20:34.194: E/AndroidRuntime(3681): at java.lang.Runtime.loadLibrary(Runtime.java:355)
07-17 14:20:34.194: E/AndroidRuntime(3681): at java.lang.System.loadLibrary(System.java:525)
07-17 14:20:34.194: E/AndroidRuntime(3681): at edu.gvsu.masl.echoprint.Codegen.<clinit>(Codegen.java:44)
07-17 14:20:34.194: E/AndroidRuntime(3681): at edu.gvsu.masl.echoprint.AudioFingerprinter.run(AudioFingerprinter.java:199)
07-17 14:20:34.194: E/AndroidRuntime(3681): at java.lang.Thread.run(Thread.java:841)
文件libechoprint-jni.so 位于“/libs/armeabi/”文件夹中,我称之为System.loadLibrary("echoprint-jni"),它在添加metaio 库之前工作。之后怎么就不行了?询问是否需要任何其他详细信息/打印屏幕/等。
编辑:
我注意到 EchoprintLibrary 有 libechoprint-jni.so 在:/libs/armeabi/
metaioSDK 在/libs/armeabi-v7a/ 中有大约 7 个 .so 文件
在我的手机上,当应用只使用 Echoprint 时,我可以在
中找到libechoprint-jni.so
/data/data/com.example/kkt/lib/
/data/app-lib/com.example.kkt-2/
当我也添加 metaioSDK 时,libechoprint-jni.so 无处可寻,但所有 metaio .so 文件都可以在
/data/data/com.example/kkt/lib/
/data/app-lib/com.example.kkt-1/
所以我想最后可能是一个问题,即如何拥有来自多个来源的 .so 库..
【问题讨论】:
标签: android android-ndk metaio codegen