之前,都是在32位android手机上,做测试。然后搞了一个64位手机,就不行了。
分析后,先是报:is 32-bit instead of 64-bit
然后,再自己的CPP的库中,修改Application.mk,将APP_ABI :=armeabi改为APP_ABI :=armeabi arm64-v8a
这样生成的时候,就会得到两个版本的so
第一种情况解决后,第二种情况又来了,就是找不到lib
原来,我是通过/data/data/com.xxx.xxx/lib访问so的,结果在64位安装后,lib这个是无效的,然后就加载失败。
最后通过ApplicationInfo取到。
public static String GetNativePath() {
String ss = m_Context.getApplicationInfo().nativeLibraryDir;
if(ss == null) ss = "/data/data/com.hxxx.yyy/lib";
return ss;
}
然后问题解决。