关于不同cpu架构APP的兼容问题 |
您所在的位置:网站首页 › 软件包架构不匹配怎么办 › 关于不同cpu架构APP的兼容问题 |
问题
发现app无法运行在某些设备上。提示“此应用与您手机不兼容” 原因应用与手机不兼容是因为手机cpu架构问题。Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。(ABI 决定了二进制文件如何与系统进行交互。)这些不同的架构与我们在开发app的过程中又有什么关联呢? 不难发现架构不同的关键点就是ABI的不同,而ABI又决定了系统与二进制文件交互方式,所以我们可以联想到jni或者ndk开发。其中在使用jni开发的过程中,我们会使用到.so动态库。.so文件就是与系统交互的二进制文件。所以当我们的项目中包含.so文件时我们就应该考虑到cpu的兼容问题了。 如何做兼容在我们的jniLibs目录下新建以下目录 这样就可以解决兼容问题了。 但是在实际开发中我们发现.so文件都会很大。以百度地图sdk为列,如果所有平台都要兼容,我们的app会变的很大。借鉴一下QQ的做法,解压qqAPK后发现qq只有一个目录armeabi。所以我们在实际开发中也只需要兼容armeabi就可以了。(具体为啥,有待考察,可能是市面上大部分设备都是arm架构吧!) 参考连接http://www.cnblogs.com/Bugtags2015/p/5578541.html 记录学习,仅供参考! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |