简体   繁体   English

java.lang.UnsatisfiedLinkError:无法从加载程序dalvik.system.PathClassLoader加载echoprint-jni

[英]java.lang.UnsatisfiedLinkError: Couldn't load echoprint-jni from loader dalvik.system.PathClassLoader

I am using Echoprint in my android project as explained here and it works ok. 我使用Echoprint在我的Android项目作为解释在这里 ,它工作正常。 However, when I try to add the metaioSDK library to the project (just add it, not even use it), I can't run Echoprint anymore. 但是,当我尝试将metaioSDK库添加到项目中时(仅添加它,甚至不使用它),我将无法再运行Echoprint。 I get: 我得到:

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)

The file libechoprint-jni.so is in the "/libs/armeabi/" folder and I call it System.loadLibrary("echoprint-jni") , which worked before adding the metaio library. 文件libechoprint-jni.so在“ / libs / armeabi /”文件夹中,我称它为System.loadLibrary("echoprint-jni") ,在添加metaio库之前可以使用。 How come it doesn't work after? 为什么以后不起作用? Ask if any other details are needed/printscreens/etc. 询问是否需要其他详细信息/ printscreens / etc。

EDIT: 编辑:

I've noticed that EchoprintLibrary has libechoprint-jni.so in: /libs/armeabi/ 我注意到libechoprint-jni.so/libs/armeabi/具有libechoprint-jni.so

metaioSDK has about 7 .so files in: /libs/armeabi-v7a/ metaioSDK在/libs/armeabi-v7a/有大约7个.so文件

On my phone, when the app only uses Echoprint, I can find the libechoprint-jni.so in 在手机上,当应用仅使用Echoprint时,我可以在以下libechoprint-jni.so找到libechoprint-jni.so

/data/data/com.example/kkt/lib/
/data/app-lib/com.example.kkt-2/

When I also add metaioSDK to the mix, libechoprint-jni.so is nowhere to be found, but all the metaio .so files can be found in 当我还将metaioSDK添加到混音中时, libechoprint-jni.so ,但是可以在以下位置找到所有metaio .so文件。

/data/data/com.example/kkt/lib/
/data/app-lib/com.example.kkt-1/

So I guess in the end, it may be a question of how to have .so libraries from multiple sources.. 因此,我想最后可能是一个问题,即如何从多个来源获得.so库。

I've managed to make it work by moving the Echoprint source files inside my own project and moving the libechoprint-jni.so in the metaio libs/armeabi-v7a folder, next to the other .so files. 通过将Echoprint源文件移动到我自己的项目中,并将metaio libs / armeabi-v7a文件夹中的libechoprint-jni.so移动到其他.so文件旁边,我设法使其工作。 Basically all the .so files had to be grouped under one folder/project. 基本上,所有.so文件都必须分组在一个文件夹/项目下。 Might not work for everyone, but it worked for me. 可能不适合所有人,但对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.UnsatisfiedLinkError:无法从加载程序dalvik.system.PathClassLoader加载和enginephysicsbox2dextension…findLibrary返回null - java.lang.UnsatisfiedLinkError: Couldn't load andenginephysicsbox2dextension from loader dalvik.system.PathClassLoader… findLibrary returned null 由以下原因引起:java.lang.UnsatisfiedLinkError:无法从加载器dalvik.system.PathClassLoader findLibrary加载gnustl_shared返回null - Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gnustl_shared from loader dalvik.system.PathClassLoader findLibrary returned null java.lang.UnsatisfiedLinkError:无法从加载程序dalvik.system.PathClassLoader加载NativeMorphoSmartSDK_6.13.2.0-4.1 - java.lang.UnsatisfiedLinkError: Couldn't load NativeMorphoSmartSDK_6.13.2.0-4.1 from loader dalvik.system.PathClassLoader 无法加载vlcjni库:java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList找不到“ libvlcjni.so” - Can't load vlcjni library: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList couldn't find “libvlcjni.so” java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader - java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList - java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList Android java.lang.UnsatisfiedLinkError dalvik.system.PathClassLoader - Android java.lang.UnsatisfiedLinkError dalvik.system.PathClassLoader PID:15208 java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader - PID: 15208 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList ...]找不到“libdetection_based_tracker.so” - java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList…] couldn't find “libdetection_based_tracker.so” 设置为系统应用程序时,无法从加载程序dalvik.system.PathClassLoader加载硬件打印 - Couldn't load hardware-print from loader dalvik.system.PathClassLoader when set as system app
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM