写点什么

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

作者:yechaoa
  • 2022 年 6 月 30 日
  • 本文字数:1897 字

    阅读完需:约 6 分钟

环境

  • Android Studio Arctic Fox | 2020.3.1

  • Gradle、AGP 7.0

  • Kotlin 1.5.31

问题 1

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 路径。


yechao@yechaoa ~ % /usr/libexec/java_home -VMatching 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 环境


# java homeexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Homeexport PATH=${PATH}:${JAVA_HOME}/binexport PATH=${PATH}:${JAVA_HOME}/jre/bin
复制代码


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


#org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Homeorg.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
复制代码


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

问题 2

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.


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 中的配置为以下:


    compileOptions {        sourceCompatibility JavaVersion.VERSION_11        targetCompatibility JavaVersion.VERSION_11    }    kotlinOptions {        jvmTarget = '11'    }
复制代码


只要你的项目支持即可。

问题 4

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

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 projectAffected Modules: app
复制代码

解决

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

问题 6

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

参考

发布于: 刚刚阅读数: 3
用户头像

yechaoa

关注

优质作者 2018.10.23 加入

知名互联网大厂技术专家,多平台博客专家、优秀博主、人气作者,博客风格深入浅出,专注于Android领域,同时探索于大前端方向,持续研究并落地前端、小程序、Flutter、Kotlin等相关热门技术

评论

发布
暂无评论
Android Studio Arctic Fox | 2020.3.1、Gradle 7.0升级记录_android_yechaoa_InfoQ写作社区