项目里包含了多个带有so文件的第三方库,支持的平台数不一样。当应用跑在5.0系统上便会崩溃,后发现是有些第三方库的x86-64的so文件没有安装。
创新互联是一家集网站建设,伊州企业网站建设,伊州品牌网站建设,网站定制,伊州网站建设报价,网络营销,网络优化,伊州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。查看了官网的ABIManager,似乎写得并不够清晰。处理过程中,发现信鸽sdk附带的一份说明倒是让人很容易的理解so文件的安装机制。
1.信鸽的.so支持所有的android平台,但考虑到平时接入一般只需要armeabi平台,因此libs目录只提供该平台的.so,其它平台可在上层目录的All-Platform-SO找到。 2.嵌入.so可能存在的问题: a.so文件与jar包不匹配。 解决办法:在更新jar时同时更新对应的so文件; b.当前工程已有某些平台的so,如只有armeabi平台,却添加信鸽所有平台导致打包时异常。 解决办法:只添加当前工程已有的平台的信鸽so文件。具体可参考网上或以下示例: armeabi !此平台既有当前存在so又有信鸽,正常! --libCurrent.so 当前工程已有so --libtpnsSecurity.so 信鸽 --libtpnsWatchdog.so 信鸽 armeabi-v7a !此平台既有当前存在so又有信鸽,正常! --libCurrent.so 当前工程已有so --libtpnsSecurity.so 信鸽 --libtpnsWatchdog.so 信鸽 mips !!!错误,由于此平台只有信鸽,必须删掉mips目录!!! --libtpnsSecurity.so 信鸽 --libtpnsWatchdog.so 信鸽 x86 !!!错误,由于此平台只有信鸽,必须删掉x86目录!!! --libtpnsSecurity.so 信鸽 --libtpnsWatchdog.so 信鸽 c.若当前工程不存在so文件。 解决办法:可复制所有信鸽平台或只复制armeabi平台
再结合其他参考文章,应该可以大概总结如下:
至少包含armeabi平台
多个不同库都有so文件时 就以包含支持最少平台的那个为准
其他参考:
1.http://www.open-open.com/lib/view/open1440421271716.html
2.http://stackoverflow.com/questions/30782848/how-to-use-32-bit-native-libaries-on-64-bit-android-device
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。