gradle兼容性问题

gradle的兼容性并不很好。

移除了tasks.getByName

Android gradle plugin 2.1.3和2.2.3之间就存在兼容性问题。
Android gradle plugin 2.2移除了tasks.getByName(‘xx’),改为直接使用task名字xx。但是为了最好的兼容性,要使用afterEvaluate后使用。

afterEvaluate {
    taskxx.doLast{}
}

gradle和plugin的兼容性

参考https://developer.android.google.cn/studio/releases/gradle-plugin.html

gradle android plugingradle
1.0.0 - 1.1.32.2.1 - 2.3
1.2.0 - 1.3.12.2.1 - 2.9
1.5.02.2.1 - 2.13
2.0.0 - 2.1.22.10 - 2.13
2.1.32.14.1 - <3.2.1
2.22.14.1 -

gradle 3.2.1不再兼容Android gradle plugin 2.1.3,至少要升级到2.2。

unaligned apk问题

确认android gradle plugin 2.1.3编译时会同时生成unaligned apk和正常的apk,而android gradle plugin 2.2.3编译时则不生成unaligned apk。我感觉应该是apk生成需要两个阶段先是unaligned,然后再zipalign变成aligned。unaligned平常算是中间产物。

apk生成过程(http://stackoverflow.com/questions/30366905/difference-between-app-debug-apk-and-app-debug-unaligned-apk):

  • generate a private key (keytool)
  • compile to get the unsigned APK -> unaligned unsigned APK
  • Sign app in debug/release mode using private key (jarsigner) -> unaligned signed APK
  • align the APK (zipalign) -> aligned signed APK

app-debug-unaligned.apk = Unaligned Signed APK
app-debug.apk = Aligned Signed APK (RAM optimized using zipalign)
ps:如果希望生成unsigned apk,需要signingConfig null。

shrinkResources失败

android gradle plugin 2.1.3 shrinkResources true成功,但是android gradle plugin 2.2.3 shrinkResources编译会失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值