游戏母包如何解决方法数超限

技术干货分享来了,看技术大大一步一步帮你解决问题(教程最后还有技术大大附上的彩蛋哦~),我们先来看看问题的起因 Android系统中,一个Dex文件中存储方法id用的是short类型数据,所以导致你的dex中方法不能超过65k。由于CP 母包集成过多SDK,或者渠道SDK方法数过多时,两项合并就可能导致渠道包方法数超过65K的限制。

具体表现:当打包失败日志中出现这2句话时,表示渠道包方法数超限。

接下来我们看看母包处理方法:将母包拆分成多个dex;

1.首先将母包移动到反编译脚本或者反编译工具中,反编译得到以下文件夹列表,在此文件目录下,新建一个smali_classes2/com文件夹路径;

2.进入smali/com文件夹,将里面的部分代码文件夹剪切移动到刚刚新建的smali_calsses2/com 路径下(注意quicksdk相关的文件夹,以及游戏Application启动相关的文件夹不能移动,比如Application的路径 以及 Application中调用了某些sdk的接口)

3.修改母包信息,反编译母包之后,如果游戏想修改游戏母包的targetVersion或者游戏版本号(名),可打开外层文件夹的apktool.yml这个文件修改;

4.回编译母包,回编译脚本执行完成之后,会在同路径下生成dist文件夹,回编译生成的包就在里面

以下是技术大大提供的彩蛋福利:反编译脚本工具

https://pan.baidu.com/s/1SyDiT2nU6fScOdqij28SXQ 提取码:q9hh

QuickSDK作为一家为手游发行提供全栈解决方案的专业工具,也一直关注行业发展趋势,针对海外发行,独家打造的海外SDK系统,针对海外自主发行业务定制,通过提供账号、支付、客服、广告归因和数据分析等服务,帮助发行商快速搭建海外自主发行平台。其核心功能包含账号、支付、客服、广告、数据五大版块,一应满足海外自主发行需求。进入:http://www.quicksdk.com/index.html 了解详情哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值