1
我基本上試圖遵循一個SO解決方案here,但遇到了問題。在另一個JNI庫中加載JNI庫崩潰
實際上,這就是我氟里昂做了JNI庫中:
handle = dlopen("/data/data/lib/my.package/lib/myLibrary.so", RTLD_LAZY);
myFunctionName = (func)dlsym(handle, "main");
(*myFunctionName)(numberOfArgs, arguments);
的問題是,上面纔會成功,如果
System.loadLibrary("myLibrary")
從相同的Java代碼調用JNI叫。但是這顯然違背了通過dlopen加載庫的目的。
所有我從LocCat得到的是
A/libc(29472): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
到底哪裏出問題了?這與myLibrary.so的構建參數有關嗎?
只是要知道,爲什麼要加載一個庫與本地代碼與dlopen代替使用System.loadLibrary? – Esparver 2013-03-06 10:43:29
要解決此問題:http://stackoverflow.com/questions/10649119/calling-native-method-twice-of-third-party-library-in-an-activity-causes-the-and – 2013-03-06 15:00:01