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