feat: 添加模拟器卸载应用测试功能并优化构建配置
- 新增模拟器卸载应用UI测试功能及相关测试图片 - 添加本地Gradle初始化脚本和构建脚本 - 更新Gradle版本至9.0并优化仓库配置 - 修复布局文件中的重复元素和警告 - 增加构建警告修复文档 - 优化模拟器控制类功能
This commit is contained in:
138
FIX_GRADLE_WARNINGS.md
Normal file
138
FIX_GRADLE_WARNINGS.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 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 文件后再进行修改
|
||||
Reference in New Issue
Block a user