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

138 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
powershell -ExecutionPolicy Bypass -File .\build.ps1
```
### 方法二:直接使用 Gradle 命令
```bash
.\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` 文件中的以下语法:
```groovy
// ❌ 错误写法(已弃用)
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
```kotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) // 保持现状
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
// 移除重复的阿里云镜像,因为已在全局配置中设置
}
}
```
#### 修改 build.gradle.kts
```kotlin
allprojects {
repositories {
// 移除这些仓库定义,因为已在 settings 中统一管理
// google()
// mavenCentral()
// maven { url = uri("https://jitpack.io") }
// 阿里云镜像源也移除(由全局配置处理)
}
}
```
## 验证修复结果
执行以下命令验证警告是否消除:
```bash
./gradlew clean --warning-mode=all
```
预期结果:应该不再出现 Groovy DSL 语法警告和 Convention API 警告。
## 注意事项
1. 修改全局 init.gradle 文件会影响所有 Gradle 项目
2. 如果只希望影响当前项目,可以将镜像配置移到项目本地的 settings.gradle.kts 中
3. 建议备份原始 init.gradle 文件后再进行修改