Я загружаю нативную библиотеку, используя 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
Любая идея, как решить эту проблему очень ценится !!!
Спасибо, Карлос