前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android Studio Arctic Fox | 2020.3.1、Gradle 7.0升级记录

Android Studio Arctic Fox | 2020.3.1、Gradle 7.0升级记录

作者头像
yechaoa
发布2022-06-10 14:54:40
发布2022-06-10 14:54:40
1.3K00
代码可运行
举报
文章被收录于专栏:移动开发专栏移动开发专栏
运行总次数:0
代码可运行

环境

  • Android Studio Arctic Fox | 2020.3.1
  • Gradle、AGP 7.0
  • Kotlin 1.5.31

问题1

代码语言:javascript
代码运行次数:0
运行
复制
Value '/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home' given for org.gradle.java.home Gradle property is invalid (Java home supplied is invalid)

解决

Gradle的java环境变量与系统JAVA_HOME不一致。

终端输入:/usr/libexec/java_home -V,查看java路径。

代码语言:javascript
代码运行次数:0
运行
复制
yechao@yechaoa ~ % /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.131.11 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_131 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

或是mac下,打开访达,然后打开user目录,command+shift+.显示隐藏文件夹,找到.bash_profile文件,查看或配置java环境

代码语言:javascript
代码运行次数:0
运行
复制
# java home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
export PATH=${PATH}:${JAVA_HOME}/bin
export PATH=${PATH}:${JAVA_HOME}/jre/bin

然后打开项目中的gradle.properties文件,查看org.gradle.java.home参数是否一致,改为一致即可。

代码语言:javascript
代码运行次数:0
运行
复制
#org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

注意:以上路径改为自己的java路径。

问题2

代码语言:javascript
代码运行次数:0
运行
复制
Method 'buildStarted' from class 'BuildTraceListener' does not override method from its superclass or interfaces but is annotated with @Override.

解决

Gradle 7.0移除了BuildListener.buildStarted(Gradle),直接删除buildStarted方法即可。

改用BuildListener.beforeSettings(Settings)代替。

问题3

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

AGP 7.0必须使用Java 11.

代码语言:javascript
代码运行次数:0
运行
复制
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:
  - changing the IDE settings.
  - changing the JAVA_HOME environment variable.
  - changing `org.gradle.java.home` in `gradle.properties`.
Gradle settings

解决

直接点击Gradle settings

选择android studio 11的版本,重新编译即可。

注意: AGP的java版本跟项目的版本可以不一致。

也可以修改build.gradle中的配置为以下:

代码语言:javascript
代码运行次数:0
运行
复制
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = '11'
    }

只要你的项目支持即可。

问题4

代码语言:javascript
代码运行次数:0
运行
复制
DSL element 'dexOptions' is obsolete and should be removed.
It will be removed in version 8.0 of the Android Gradle plugin.
Using it has no effect, and the AndroidGradle plugin optimizes dexing automatically.

解决

dexOptions已经过时,会在AGP8.0移除,并且AGP会自动帮我们优化,所以,直接在build.gradle中移除dexOptions即可。

问题5

代码语言:javascript
代码运行次数:0
运行
复制
The specified Android SDK Build Tools version (30.0.1) is ignored, as it is below the minimum supported version (30.0.2) for Android Gradle Plugin 7.0.2.
Android SDK Build Tools 30.0.2 will be used.
To suppress this warning, remove "buildToolsVersion '30.0.1'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
Remove Build Tools version and sync project
Affected Modules: app

解决

buildToolsVersion 30.0.1 被忽略了,主要是因为低于AGP7.0.2所要求的的最低版本30.0.2,所以会使用30.0.2的版本, 而且后续AGP也会应用一个对应的默认的版本,直接移除buildToolsVersion即可。

问题6

代码语言:javascript
代码运行次数:0
运行
复制
Project property 'kotlin.parallel.tasks.in.project' is deprecated.
By default it depends on Gradle parallel project execution option value.

解决

kotlin.parallel.tasks.in.project弃用了,是kotlin 1.5.20版本中的变更,使用org.gradle.parallel就够了,所以直接删除kotlin.parallel.tasks.in.project即可。

其他

还有一些代码上的警告,按照提示解决即可。

Github

参考

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 问题1
    • 解决
  • 问题2
    • 解决
  • 问题3
    • 解决
  • 问题4
    • 解决
  • 问题5
    • 解决
  • 问题6
    • 解决
  • 其他
  • Github
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档