前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Gradle的理解以及升级Gradle插件3.0.1遇到的坑

Android Gradle的理解以及升级Gradle插件3.0.1遇到的坑

作者头像
AWeiLoveAndroid
发布2022-05-13 17:38:02
1.3K0
发布2022-05-13 17:38:02
举报

以下内容均为个人理解,如果有描述不正确的地方,欢迎指正 转载请注明原文链接

Gradle简介

开始填坑之前,先简单聊聊gradle,Gradle其实就是一个构建项目的工具,也就是把那一个个文件、文件夹按照一定的规则关联起来,形成一个项目的工具,它其实不仅仅是用在AndroidStudio上。

我们在AS中用到的Gradle其实应该被叫做 Android Gradle Plugin,也就是安卓项目上的gradle插件; Gradle插件会有版本号,每个版本号又对应有一个或一些 Gradle发行版本(一般是限定一个最低版本),也就是我们常见的类似gradle-3.1-all.zip这种东西;

如果这两个版本对应不上了,那你的工程构建的时候就会报错。 对应关系如下(参考自 https://developer.android.google.cn):

插件版本

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.2.3

2.14.1+

2.3.0+

3.3+

3.0.0+

4.1+

Android Studio 3.0 之后自动将插件版本升级到3.0.0,所以我们也需要对应地把Gradle升级到4.1才行

另外, Android Gradle Plugin又会跟 Android SDK BuildTool有关联,因为它还承接着AndroidStudio里的编译相关的功能,这也是我们要在项目的 local.properties 文件里写明Android SDK路径、在build.gradle 里注明 buildToolsVersion 的原因。

所以 Android Gradle Plugin 本质上就是 一个AS的插件,它一边调用 Gradle本身的代码和批处理工具来构建项目,一边调用Android SDK的编译、打包功能,从而让我们能够顺畅地在AS上进行开发。

升级Android Gradle Plugin到3.0.1的踩坑之旅

再同步gradle,又报错。 这次是提示没有26.0.2版本的 SDK buildTool ,然后直接在AS报错弹框里点击下载就可以了。现在SDK可以不用翻墙直接下载,速度还蛮快的。下载确认解压之后再次同步gradle。

继续同步,继续报错... 这次的错误提示比较接地气了,说是build/intermediates/xxxx.xml 里的某个值没有找到,这个简单,build目录下的都是编译期生成的文件,clean下再来一发;或者直接rebuild项目(rebuild = clean + build)

至此再次同步gradle,总算是没有再报错了,AS上可以正常运行代码了。 我们的全部修改都只涉及到gradle的配置代码,所以不会对项目里的业务逻辑产生任何影响。 这时候再打个包,验证下我们的最后一段打包相关的gradle脚本是否正常运行.打包成功了,也就全部OK了。

参考文献

谷歌爸爸的文档: https://developer.android.google.cn/studio/build/gradle-plugin-3-0-0-migration.html

最后

附一张图

折腾一下午之后的我.gif

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Gradle简介
  • 升级Android Gradle Plugin到3.0.1的踩坑之旅
    • 参考文献
      • 最后
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档