Foreword: When we are inAndroidin the use ofJNIunder compilation of. soLibrary, there is a good chance that the underlying compiledNative MethodThere is an exception and the underlying does not capture the exception so that weAPKon the Show as Exit program, view printing information, the prompt appears:a/libc (2730): Fatal signal (SIGSEGV) at 0xdeadbaad (code=1), Thread 3661 (ervice. Executor). This is byAndroid LinuxKernellibcfunction throws a print, from the above we can only know the memory operation problem. But for what reason, we do not know what to do. We areEclipsein theAll messageYou can view theFatalThe following print information is also available:
After each pc , we all have an address, which corresponds to our JNI method below, so that, as long as we send the address compiled back, we can get the cause of the error place. Below, I will use a tool arm-eabi-addr2line to decompile the above address.
Method: First of all, we must set up the environment of ARM-EABI-ADDR. I'm using vi bashrc.
Insert in (press insert or I :
Export path= $PATH:/home/lyn/hsp/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin
After importing, press the ESC key to enter:wq save to exit. Remember to also source ~/.BASHRC. Then, under the input arm-linux-androideabi-addr2line, If the result is printed, then the environment is good!
Decompile: Well, finally to the most exciting moment, we hit the following code at the command line:
Here are some of the points we should note:
1. We want to copy your Libxxxxx.so library to your bin file, note not libs libxxx.so library, this way you will get?? : 0 results. Instead, jni under /obj/local/armeabi/lib xxxx .so library copied to your bin file.
2. which libxxxx.so library is based on the top /system/lib/libpjsipjni.so
3. What if you still show up?? : 0 So you might be using release version, then change to debug version put! jni/ APPLICATION.MK  file, modified to DEBUG  mode, to debug app_optim := debug specific APPLICATION.MK  file configuration see:
http://blog.csdn.net/weidawei0609/article/details/6561280
Reference URL:
http://blog.csdn.net/hun_sunny/article/details/8350151
Fatal Signal (SIGSEGV) at 0xdeadbaad (code=1), Thread 3661 (ervice. Executor)