【发布时间】:2011-06-09 10:01:01
【问题描述】:
我正在使用 JNI 加载本机库。库位于 sdcard 上。
我正在使用此代码加载库:
try
{
File str;
String storage;
str = Environment.getExternalStorageDirectory();
storage = str.getAbsolutePath();
File f = new File(storage+"/Android/data/org.ilri.IMPACTLight/libIMPInterface.so");
if (f.exists())
System.load(storage+"/Android/data/org.ilri.IMPACTLight/libIMPInterface.so");
}
catch (SecurityException e)
{
Log.i(QtTAG, "Security: Can't load /mnt/sdcard/Android/data/org.ilri.IMPACTLight/libIMPInterface.so", e);
}
catch (UnsatisfiedLinkError e)
{
Log.i(QtTAG, "Link: Can't load /mnt/sdcard/Android/data/org.ilri.IMPACTLight/libIMPInterface.so", e);
}
但我总是得到:
D/dalvikvm(408): 试图加载 lib /mnt/sdcard/Android/data/org.ilri.GPSTest/libGPSInterface.so 0x44ede2c0 I/dalvikvm(408):无法 到 dlopen(/mnt/sdcard/Android/data/org.ilri.GPSTest/libGPSInterface.so): 无法加载库: load_segments[907]: 33 映射失败 来自'libGPSInterface.so'的片段@ 0x81900000 (0x00003470)。 p_vaddr=0x00000000 p_offset=0x00000000
我在 AVD 2.2 上得到了这个
非常感谢任何想法如何解决这个问题!!!
谢谢, 卡洛斯
【问题讨论】:
标签: android java-native-interface android-ndk