1.本地方法没有找到
No implementation found for java.lang.String com.example.demo02.MainActivity.string_FromJNI()
可能出现的原因 c函数名字写错了
解决方法 通过javah 生产头文件
如果 jdk1.7 以上,到项目的src目录下运行javah, javah 要生成c 函数名字的java类的全部路径
jdk1.6 以下, 到项目的bin/classes 目录下运行 javah
可能的原因二 忘记写 System.loadLibrary 可以通过静态代码块来加载.so文件
static {
System.loadLibrary("demo02");
}
2.找lib的时候(.so文件)返回dlopen failed
java.lang.UnsatisfiedlinkError: dlopen failed: library "libdemo02s.so" not found
可能出现的原因 .so文件名字写错 lib前缀去掉 .so后缀去掉 剩下的就是要加载的文件名字
可能出现的原因二 当前的.so文件不被 cpu 平台支持 需要通过在 build.gradle 文件下 cppFlags 下添加支持的cpu平台
cppFlags 'armeabi x86'



