最近遇到很多奇奇怪怪的问题,就在这里记录一下。
1、jni 数组初始化传入
最近遇到一个问题,就是传一个byte数组到c++里面,进行传出值
byte[] mData = new byte[128];
ParseRg.Decrypt(key, mData); //这个是调用jni的
byte[] mData = new byte[128];
c++库初始化了128个字节。jni调用时候。所以这里需要初始化128
如果是 byte[] mData = new byte[64];;
在兼容部分机器时候。会出现内存异常产生崩溃。这个原因有时不好找到。以为在有些机器是很正常,有些机器就崩溃了。
就是和机器分配内存有关系。
2、ndk版本编译问题
android-ndk-r8d 使用这个版本ndk编译时不能编译64位的so库。只能编译 32系统的so库。
只能编译如下。
and