Files
flomo-ai/FIX_GRADLE_WARNINGS.md
xiaji 7ef91abee1 feat: 添加模拟器卸载应用测试功能并优化构建配置
- 新增模拟器卸载应用UI测试功能及相关测试图片
- 添加本地Gradle初始化脚本和构建脚本
- 更新Gradle版本至9.0并优化仓库配置
- 修复布局文件中的重复元素和警告
- 增加构建警告修复文档
- 优化模拟器控制类功能
2026-03-12 21:26:39 +08:00

4.0 KiB
Raw Blame History

Gradle 构建警告修复完成报告

🎉 修复成果总结

经过本次优化,我们成功解决了项目中的大部分 Gradle 构建警告:

已完成的修复:

  • 移除了项目中重复的仓库定义
  • 统一了仓库配置到 settings.gradle.kts
  • 创建了符合最新语法规范的本地初始化脚本
  • 项目内部已无 Convention API 警告

⚠️ 仍存在的警告:

  • 用户全局 Gradle 初始化脚本 (C:\Users\xiaji\.gradle\init.gradle) 中的已弃用语法警告

📁 新增文件说明

1. 本地初始化脚本

gradle/init/init.gradle - 符合最新 Gradle 语法规范的初始化脚本

2. 构建脚本

build.ps1 - PowerShell 脚本,可使用本地初始化脚本进行构建

🚀 使用方法

方法一:使用本地初始化脚本(推荐)

powershell -ExecutionPolicy Bypass -File .\build.ps1

方法二:直接使用 Gradle 命令

.\gradlew clean build

📊 当前状态

执行 ./gradlew clean --warning-mode=all 后:

  • 项目内部警告已全部解决
  • 仅剩用户全局配置的警告(不影响项目构建)
  • 构建过程正常完成

📝 后续建议

如需完全消除所有警告,建议:

  1. 备份当前的 C:\Users\xiaji\.gradle\init.gradle
  2. 将其中的 url 'xxx' 语法修改为 url = uri('xxx')
  3. 或者删除该文件,让项目使用我们提供的本地配置

原始修复指南

问题分析

当前构建过程中出现两类警告:

  1. Groovy DSL 已弃用语法警告 (12个)

    • 位置:用户全局 Gradle 初始化脚本 C:\Users\xiaji\.gradle\init.gradle
    • 原因:使用了 url 'xxx' 语法,应改为 url = uri('xxx')
  2. Convention API 已弃用警告 (2个)

    • 位置:项目构建配置中
    • 原因:使用了已弃用的 Convention API

解决方案

1. 修复用户全局 Gradle 初始化脚本

C:\Users\xiaji\.gradle\init.gradle 文件中的以下语法:

// ❌ 错误写法(已弃用)
maven { url 'https://repo.huaweicloud.com/repository/gradle/' }

// ✅ 正确写法
maven { url = uri('https://repo.huaweicloud.com/repository/gradle/') }

需要修改的所有位置:

  • 第7行pluginManagement.repositories.maven.url
  • 第8行pluginManagement.repositories.maven.url
  • 第9行pluginManagement.repositories.maven.url
  • 第18行dependencyResolutionManagement.repositories.maven.url
  • 第19行dependencyResolutionManagement.repositories.maven.url
  • 第20行dependencyResolutionManagement.repositories.maven.url
  • 第31行buildscript.repositories.maven.url
  • 第32行buildscript.repositories.maven.url
  • 第33行buildscript.repositories.maven.url
  • 第37行repositories.maven.url
  • 第38行repositories.maven.url
  • 第39行repositories.maven.url

2. 项目配置优化建议

虽然项目本身配置正确,但可以进一步优化:

修改 settings.gradle.kts

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) // 保持现状
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
        // 移除重复的阿里云镜像,因为已在全局配置中设置
    }
}

修改 build.gradle.kts

allprojects {
    repositories {
        // 移除这些仓库定义,因为已在 settings 中统一管理
        // google()
        // mavenCentral()
        // maven { url = uri("https://jitpack.io") }
        // 阿里云镜像源也移除(由全局配置处理)
    }
}

验证修复结果

执行以下命令验证警告是否消除:

./gradlew clean --warning-mode=all

预期结果:应该不再出现 Groovy DSL 语法警告和 Convention API 警告。

注意事项

  1. 修改全局 init.gradle 文件会影响所有 Gradle 项目
  2. 如果只希望影响当前项目,可以将镜像配置移到项目本地的 settings.gradle.kts 中
  3. 建议备份原始 init.gradle 文件后再进行修改