2011-03-13 97 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