聚合SDK aapt2 You need to use a Theme.AppCompat theme (or descendant) with this activity.

AndroidStudio 升级aapt2之后,聚合SDK将游戏母包和渠道包进行聚合,最后合成的包,运行起来报

 You need to use a Theme.AppCompat theme (or descendant) with this activity.

的错误,相比之前使用aapt,aapt2最大的变化就是 aapt打包变成了两步,第一步是compile 资源,第二步是link 资源 ,生成R文件,

继承Activity的可以正常运行,继承AppCompatActivity的就报上述的错误

 

aapt2 两步命令如下:

cmd = '"%s" compile --dir "%s" -o "%s"' % (aaptPath, targetResPath, resourcePath)

cmd = '"%s" link -o "%s" --manifest "%s" --java "%s" -I "%s" --auto-add-overlay %s --min-sdk-version "%s" --target-sdk-version "%s" --version-code "%s" --version-name "%s" ' % 
(aaptPath, tempPath + "/newoutput.apk", manifestPath, genPath, androidPath, tempPath + "/resources.zip",game["minSdkVersion"],game["targetSdkVersion"],game["versionCode"],game["versionName"])

渠道包由AndroidStudio 使用aapt2生成,正常运行

游戏母包使用gradle模式,使用aapt2生成,正常运行

使用apktool了进行聚合之后,却不行,反解聚合之后的apk包,高级主题AppCompat也能找到,很纳闷的是为什么合成的包却报需要高级主题,有没有大神已经解决这个问题的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值