本文记录Android jni开发中的一些问题,不定时更新。
1. 某次在原来的库中添加了几个新方法,一直报错,编不过,具体信息也看不懂,大致如下:
in function typeinfo for a.cpp(.data.rel.ro+0x10): error: undefined reference to 'type info for A'
问题原因:找了半天问题没有头绪,最终查出是在头文件中的虚方法后面没有加 = 0 ,加上即可。
2.jni库链接报错
W/dalvikvm( 5781): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lo
rg/jni/NativeContextRegistry;
D/AndroidRuntime( 5781): Shutting down VM
W/dalvikvm( 5781): threadid=1: thread exiting with uncaught exception (group=0x40bf5930)
问题原因:对于此问题,可能的原因很多,简单分析几点
a.Android studio中,把库放入armeabi中还不够,需要在gradle的sourceSets中配置
jniLibs.srcDirs = ['libs']
b.对于配置了jni库的情况,需要查看一下引用的库的名字和配置中是否一致。