gradle兼容性问题
2017-01-06 23:01
106 查看
gradle的兼容性并不很好。
Android gradle plugin 2.2移除了tasks.getByName(‘xx’),改为直接使用task名字xx。但是为了最好的兼容性,要使用afterEvaluate后使用。
即
gradle 3.2.1不再兼容Android gradle plugin 2.1.3,至少要升级到2.2。
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。
移除了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 plugin | gradle |
---|---|
1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.5.0 | 2.2.1 - 2.13 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
2.1.3 | 2.14.1 - <3.2.1 |
2.2 | 2.14.1 - |
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编译会失败。相关文章推荐
- Android Studio 3.0 下 Cordova 打包时 Gradle 兼容性问题解决
- AndroidStudio buildgradle升级导致的兼容性问题
- android 4.4 appcompat gradle 构建jar包兼容性问题
- smart发布中发现的weblogic/tomcat/resin的兼容性问题以及解决方案
- FireFox 1.5的兼容性问题
- * word 2000 与 word 2003 版本兼容性问题
- MFC框架升级OCX时存在的向下兼容性问题
- 升级到Delphi 6 - 兼容性问题之一
- IE与FireFox的兼容性问题
- 微软:IE7发布正式版 开发者应注意兼容性问题(转载)
- 升级到Delphi 6 - 兼容性问题之二
- Linux手机DIY.库文件专题.兼容性问题
- eXtremeTable和MyFaces的兼容性问题及解决方法
- PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
- 升级到Delphi 6 - 兼容性问题(中文全文)
- 升级到Delphi 6 - 兼容性问题之三(完)
- 关于select对象在FireFox中的一个兼容性问题
- 关于电脑兼容性问题
- 关于网站兼容性问题的研究
- IIS6.0中.net1.1程序与.net2.0程序的兼容性问题.