上周五尝(shou)鲜(jian)不小心把AS升到了3.1被逼折腾了一下。前面说到了versions.gradle的配置方式,通过此次升级发现这种配置的另一个好处。先卖个关子,最后再说。
本文是以Android Architecture Components官方示例 GithubBrowserSample 项目所做的说明。
一步一步升级AS
升级的步骤当然是先将AS升到3.1。
这时候要是打开之前的项目,不光会有漫长的等待还会收获一片红字……
升好AS后,首先得改改versions.gradle:【10行修改为:versions.support = “27.1.0”】、【24行修改为:versions.android_gradle_plugin = “3.1.0”】、【115行修改为:build_versions.target_sdk = 27】、【116行修改为:build_versions.build_tools = “27.1.0”】
然后是项目app目录下的build.gradle里删掉【buildToolsVersion build_versions.build_tools】
项目\gradle\wrapper里文件gradle-wrapper.properties【22行修改为:distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip】
这个时候先别着急打开或Build项目,因为还有个很耗时的gradle呢
手动升级项目的Gradle
如果让AS自己升会慢的要死,
• 可以去http://services.gradle.org/distributions/下载或其他方式获得一个【gradle-4.4-all.ZIP】的文件
• Import project一下项目,等几秒然后强制中断。这时在C:\Users\“用户”\.gradle\wrapper\dists\gradle-4.4-all\里会建一个类似“9br9xq1tocpiv8o6njlyu5op1”的文件夹(可能你的文件夹名字会不同),把gradle-4.4-all.ZIP拷进去再Import project就快许多了
模拟器问题
如果升级或者获取的项目无法在AVD中运行,可以将【..\app\build\intermediates】文件夹清空,然后再Ctrl+F9即可。
OK大功告成,我同事用这个方法用了不到一小时即可搞定。
总结一下versions.gradle的亮点
我按本文的配置复制了一个ver310.gradle的文件。以后小版本的升级需要做的只是改改即可。这样,如果你的团队成员用的AS版本不同,项目的整体传递也不需要很长的Build时间。
最大的收获是这样做可以同时可以兼顾版本与引用控制。