如何修复google只支持64bit的错误

35 篇文章 1 订阅
8 篇文章 0 订阅

一、遇到的问题

最近新的CocosCreator游戏项目添加了友盟SDK之后,再上传到google之后,google后台会提示这样的错误。

This release is not compliant with the Google Play 64-bit requirement.

The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code:54.

Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code it needs.This avoids increasing the overall size of your app. Learn More.

 

二、如何产生的问题

在项目的优化过程中,需要加入友盟SDK:

implementation了这些库之后,我们用AndroidStudio自带的Analyze APK来分析加入友盟SDK前和加入之后的区别:

  

1.0.39是加入SDK前的包;

1.0.57是加入SDK后的包。

可以看出,在加入了umeng(友盟)的SDK之后,增加了x86和armeabi的cpu架构。

tips:至于x86、armeabi、armeabi-v7a、arm64-v8a这些cpu架构的区别,大家自行查阅。

 

三、认识问题的本质

那么到了这里,我们大家有的了解到了问题产生的原因,有的可能还没了解到。

如果没了解到的,先回过头去看一下这句话:

This release is not compliant with the Google Play 64-bit requirement.

我们缺少了64位的so库。

为什么缺少了:因为友盟SDK增加了x86(也就是32位)的so库,但是没给我们增加x86-64的so库。

所以google的后台就给了这个报错。

 

四、解决问题

那么接下来要做的就是:

把x86的so库和armeabi的so库剔除掉就可以了。

如何剔除:

我们来看一下app中的build.gradle文件:

在框柱的这句,意思很明显:abiFilters加入一些abi(言外之意,就是不作限制)。

这样的处理是引发这个google上传apk时报错的根本原因。

那么我们要如何修改:

abiFilters.addAll(PROP_APP_ABI.split(':').collet{it as String} 这句删掉。

再增加

ndk {
    abiFilters "armeabi-v7a","arm64-v8a"
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值