我已经为Eclipse(Juno)设置了一个Android项目。
该项目依赖于名为synth
的本机库,该库通过命令行上的ndk-build
生成,为{{1}内的每个不同体系结构创建各种libsynth.so
个文件。文件夹,例如libs
等。
库按代码加载如下:
libs/armeabi/libsynth.so
此行在运行时崩溃:
System.loadLibrary("synth");
似乎java.lang.UnsatisfiedLinkError: Couldn't load foo from loader dalvik.system.PathClassLoader...
文件存在,但没有链接。如何在导出Android包时告诉Eclipse链接该库?或者我还应该做些什么来解决这个问题?
完整堆栈跟踪:
E / AndroidRuntime(18030):致命异常:主要 E / AndroidRuntime(18030):处理:com.levien.synthesizer,PID:18030 E / AndroidRuntime(18030):java.lang.UnsatisfiedLinkError:无法从加载器dalvik.system.PathClassLoader加载synth [DexPathList [[zip文件“/data/app/com.levien.synthesizer-1.apk"],nativeLibraryDirectories = [/ data / app-lib / com.levien.synthesizer-1,/ vendor / lib,/ system / lib]]]:findLibrary返回null E / AndroidRuntime(18030):at java.lang.Runtime.loadLibrary(Runtime.java:358) E / AndroidRuntime(18030):at java.lang.System.loadLibrary(System.java:526) E / AndroidRuntime(18030):at com.levien.synthesizer.android.AndroidGlue。(AndroidGlue.java:51) E / AndroidRuntime(18030):at com.levien.synthesizer.android.service.SynthesizerService.onCreate(SynthesizerService.java:88) E / AndroidRuntime(18030):在android.app.ActivityThread.handleCreateService(ActivityThread.java:2585) E / AndroidRuntime(18030):在android.app.ActivityThread.access $ 1800(ActivityThread.java:139) E / AndroidRuntime(18030):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1292) E / AndroidRuntime(18030):在android.os.Handler.dispatchMessage(Handler.java:102) E / AndroidRuntime(18030):在android.os.Looper.loop(Looper.java:136) E / AndroidRuntime(18030):在android.app.ActivityThread.main(ActivityThread.java:5086) E / AndroidRuntime(18030):at java.lang.reflect.Method.invokeNative(Native Method) E / AndroidRuntime(18030):at java.lang.reflect.Method.invoke(Method.java:515) E / AndroidRuntime(18030):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785) E / AndroidRuntime(18030):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) E / AndroidRuntime(18030):at dalvik.system.NativeStart.main(Native Method)