专职C++

不能停止的脚步

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用链接

留言簿(28)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

之前,都是在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取到。

  1. public static String GetNativePath() {  
  2.     String ss = m_Context.getApplicationInfo().nativeLibraryDir;  
  3.     if(ss == null) ss = "/data/data/com.hxxx.yyy/lib";  
  4.     return ss;  
  5. }  

然后问题解决。
posted on 2017-08-03 14:50 冬瓜 阅读(2045) 评论(0)  编辑 收藏 引用 所属分类: 原创

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理