在Froyo上,当我在加载库时遇到链接异常时,它不会给出它找不到的符号!在eclair上,曾经有一条helper消息说“找不到xyz符号”。如果没有这些信息,我如何在froyo上调试这个库加载错误?我正在使用system.load加载libabcjni.so。
当我构建testapp时,我可以看到libabcjni.so的以下行:
添加:lib/armeabi/libabcjni.so(缩减75%)
Android日志:

D/BLURDAEMON( 3653): onCreate()
D/DaemonManager( 3653): Going to load native lib
D/BlurMbus::Loader( 3653): File: /data/data/com.abc.testapp/files/libabcjni.so
D/BlurMbus::Loader( 3653): Size: 1012148
D/BlurMbus::Loader( 3653): Going to System.load
D/dalvikvm( 3653): Trying to load lib /data/data/com.abc.testapp/files/libabcjni.so 0x449214a8
I/dalvikvm( 3653): Unable to dlopen(/data/data/com.abc.testapp/files/libabcjni.so): Cannot load library: link_image[1995]: failed to link libabcjni.so
I/dalvikvm( 3653):
D/BlurMbus::Loader( 3653): Link Exception Library /data/data/com.abc.testapp/files/libabcjni.so not found
E/BlurMbus::NativeInterface( 3653): Error loading ---->libabcjni <----

最佳答案

我刚刚发现http://mpigulski.blogspot.com/2010/09/debugging-dlopen-unsatisfiedlinkerror.html

09-28 14:09