记录Android Studio 升级Gradle7.5-8.5遇到的问题

本文概述了升级到Gradle8.5时遇到的问题,包括Java版本要求、命名空间引入带来的影响、Room库的版本更新、R资源路径调整、密封类问题以及AIDL和buildConfig编译设置的改变。开发者需相应地调整项目配置以确保构建顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


首先说明我升级到的是: Gradle 8.5,Android(AGP 8.2.2)、kotlin(1.9.22)相关插件升级这里就不做说明了

distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip

问题1:Gradle8.0+后需要使用JDK17,JavaVersion.VERSION_17

Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (17) and 'kaptGenerateStubsDebugKotlin' (1.8).

我的AS修改后需要重新打开项目,否则不起效果。

compileOptions {
   sourceCompatibility = JavaVersion.VERSION_17
   targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
   jvmTarget = JavaVersion.VERSION_17.toString()
}

问题2 :namespace,所有模块必须要有namespace

  1. 所有模块添加namespace,同时会导致模块的R资源路径问题,修改重新导入对应的 R
  2. 移除AndroidManifest.xml中的<manifest package="com.xxx.xxx">

问题3:Room无法通过编译

升级kotlin 1.9.0之后需要把Room升级到2.6.0+,否则编译错误。

问题4:com.android.tools.r8.internal.nc: Sealed classes are not supported as program classes

升级Java 17 导致的 sealed 修饰符问题。

解决方法

    pluginManagement {
    buildscript {
    repositories {
        mavenCentral()
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath("com.android.tools:r8:8.2.24")
    }
 }

问题5:在Gradle8.0中AIDL编译默认false,需要手动开启

需要手动开启,才可以生成对应的java文件

buildFeatures {
    aidl = true
}

问题6 :在Gradle8.0中buildConfig默认false,需要手动开启

需要手动开启buildConfig支持,否则会找不到对应的类BuildConfig.java

buildFeatures {
    buildConfig = true
}
### 配置 Gradle 7.5 并在 Android Studio 中使用的指南 为了在 Android Studio 中使用 Gradle 7.5,可以按照以下方法完成配置: #### 1. 修改 `gradle-wrapper.properties` 文件 打开项目的 `gradle/wrapper/gradle-wrapper.properties` 文件,并修改其中的 `distributionUrl` 属性为指向 Gradle 7.5 的下载地址。具体设置如下: ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip ``` 此操作会告诉 Android Studio 使用指定版本的 Gradle 构建工具[^2]。 #### 2. 下载 Gradle 7.5 压缩包 如果网络条件允许,可以通过上述 URL 自动下载 Gradle 7.5。但如果自动下载失败或者需要手动干预,则可以从官方或其他可信镜像站点获取压缩包文件 `gradle-7.5.zip` 或者 `gradle-7.5-bin.zip`。 对于国内用户,建议通过阿里云镜像站点下载 Gradle 7.5 的二进制版本: ```text https://mirrors.aliyun.com/gradle/ ``` #### 3. 解压并配置环境变量 将下载好的 `gradle-7.5.zip` 文件解压至目标目录(例如 `/usr/local/gradle-7.5`)。随后,在系统中添加 Gradle 的 `bin` 目录到 PATH 环境变量中。以下是 Linux/MacOS 的示例命令: ```bash export PATH=$PATH:/usr/local/gradle-7.5/bin ``` Windows 用户可以在“高级系统设置”-> “环境变量” -> 添加 `%GRADLE_HOME%\bin` 到 Path 变量中。 #### 4. 同步项目与验证安装 返回 Android Studio,点击菜单栏中的 **File > Sync Project with Gradle Files** 进行同步。同步完成后,可通过终端执行以下命令来验证 Gradle 是否正常工作以及其版本号是否正确: ```bash gradle -v ``` 预期输出应该包含类似于以下的内容: ```plaintext Gradle 7.5 ... ``` 这表明已成功切换到所需的 Gradle 版本。 需要注意的是,某些情况下可能还需要调整 Android Studio 的最低支持版本以匹配较新的 Gradle 插件功能需求[^4]。 --- ### 注意事项 当遇到连接超时等问题时,可尝试更换不同的镜像源链接或离线导入的方式解决。比如之前提到过的阿里云镜像服务能够有效缓解此类问题的发生几率[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TieJun~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值