我有一个共享对象文件,我从我的Android应用程序调用。到目前为止,我已经在我的java项目中使用了它,并且我这样加载它:
static { System.loadLibrary("mysofile") };
现在我正试图从其他位置加载它:
static {System.loadLibrary("/mnt/sdcard/mysofile.so"}
但是我收到以下错误:
03-13 14:26:12.183: ERROR/AndroidRuntime(2339): java.lang.UnsatisfiedLinkError: Cannot load library: load_segments[928]: 92 failed to map segment from 'mysofile.so' @ 0x83400000 (0x00001488). p_vaddr=0x00000000 p_offset=0x00000000
有人可以帮我解决吗?
谢谢, 本雅明
答案 0 :(得分:1)
不支持您最想要的内容。请使用NDK并按照其说明正确支持Android上的JNI。
此外,永远不要硬编码/mnt/sdcard
,因为这在大多数Android设备上都是错误的。使用Environment.getExternalStorageDirectory()
标识外部存储的根目录。