2011-03-13 123 views
0

我有一个共享对象文件,我从我的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 

有人能帮我解决吗?

感谢, 本雅明

回答

1

你想要什么最有可能不被支持。请使用NDK并按照其说明正确支持Android上的JNI。

此外,从不硬编码/mnt/sdcard,因为这在大多数Android设备上都是错误的。使用Environment.getExternalStorageDirectory()来标识外部存储的根。

+0

谢谢。我使用NDK进行基本的使用,但我试图下载和替换库(用于测试目的),所以我尝试从我的应用程序文件夹外部使用库。 关于硬编码路径 - 我绝对同意,这只是测试代码的一部分。 – MByD 2011-03-13 16:36:14