first commit
This commit is contained in:
155
(红头)项目编译Debug版本和Release版本apk的方法.txt
Normal file
155
(红头)项目编译Debug版本和Release版本apk的方法.txt
Normal file
@@ -0,0 +1,155 @@
|
||||
# Android 项目编译 Debug 和 Release 版本 APK 的方法
|
||||
|
||||
## 项目信息
|
||||
- **项目名称**: com.xunpaisoft.social
|
||||
- **项目路径**: D:\zhini\android-im
|
||||
- **JDK 要求**: Java 11 或更高版本
|
||||
- **推荐 JDK**: Android Studio 内置 JDK 21
|
||||
|
||||
## 环境准备
|
||||
|
||||
### 1. 检查 Java 版本
|
||||
```bash
|
||||
java -version
|
||||
```
|
||||
**注意**: 如果系统只有 Java 8,需要使用 Android Studio 的 JDK 21
|
||||
|
||||
### 2. 设置环境变量
|
||||
```powershell
|
||||
# 设置 Android Studio JDK 路径
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"
|
||||
|
||||
# 设置 Android SDK 路径
|
||||
$env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"
|
||||
```
|
||||
|
||||
## 编译方法
|
||||
|
||||
### 方法一:使用 Gradle Wrapper(推荐)
|
||||
|
||||
#### 1. Debug 版本编译
|
||||
```bash
|
||||
# 设置环境变量并编译 Debug 版本
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleDebug
|
||||
```
|
||||
|
||||
**编译结果**:
|
||||
- ✅ 编译状态: BUILD SUCCESSFUL
|
||||
- ⏱️ 编译时间: 约 34 秒
|
||||
- 📁 APK 位置: `app\build\outputs\apk\debug\app-debug.apk`
|
||||
|
||||
#### 2. Release 版本编译
|
||||
```bash
|
||||
# 设置环境变量并编译 Release 版本
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleRelease
|
||||
```
|
||||
|
||||
**编译结果**:
|
||||
- ✅ 编译状态: BUILD SUCCESSFUL
|
||||
- ⏱️ 编译时间: 约 3分48秒
|
||||
- 📁 APK 位置: `app\build\outputs\apk\release\app-release.apk`
|
||||
|
||||
### 方法二:使用 Android Studio(最简单)
|
||||
|
||||
1. **打开 Android Studio**
|
||||
2. **导入项目**: 选择 `D:\zhini\android-im` 目录
|
||||
3. **等待 Gradle 同步完成**
|
||||
4. **编译项目**:
|
||||
- **Debug 版本**: `Build` → `Build Bundle(s) / APK(s)` → `Build APK(s)`
|
||||
- **Release 版本**: `Build` → `Generate Signed Bundle / APK` → `APK`
|
||||
|
||||
## 安装 APK 到设备
|
||||
|
||||
### 安装 Debug 版本
|
||||
```bash
|
||||
adb install -r app\build\outputs\apk\debug\app-debug.apk
|
||||
```
|
||||
|
||||
### 安装 Release 版本
|
||||
```bash
|
||||
adb install -r app\build\outputs\apk\release\app-release.apk
|
||||
```
|
||||
|
||||
## 版本对比
|
||||
|
||||
| 特性 | Debug 版本 | Release 版本 |
|
||||
|------|------------|--------------|
|
||||
| **编译时间** | 约 34 秒 | 约 3分48秒 |
|
||||
| **APK 大小** | 较大 | 较小(优化后) |
|
||||
| **代码混淆** | 否 | 是(ProGuard) |
|
||||
| **调试信息** | 包含 | 移除 |
|
||||
| **性能** | 较慢 | 较快 |
|
||||
| **用途** | 开发测试 | 正式发布 |
|
||||
|
||||
## 常见问题解决
|
||||
|
||||
### 问题1: Java 版本不兼容
|
||||
**错误信息**: `Dependency requires at least JVM runtime version 11. This build uses a Java 8 JVM.`
|
||||
|
||||
**解决方案**:
|
||||
```bash
|
||||
# 停止现有 Gradle daemon
|
||||
.\gradlew.bat --stop
|
||||
|
||||
# 使用 Android Studio JDK 编译
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; .\gradlew.bat assembleDebug
|
||||
```
|
||||
|
||||
### 问题2: Gradle Wrapper 不存在
|
||||
**解决方案**: 项目已包含 `gradlew.bat` 文件,如果缺失可以重新创建。
|
||||
|
||||
### 问题3: 权限重复警告
|
||||
**现象**: 编译时出现权限重复警告
|
||||
**影响**: 不影响编译,但建议清理重复权限声明
|
||||
|
||||
## 编译命令总结
|
||||
|
||||
### 一键编译脚本
|
||||
```powershell
|
||||
# Debug 版本一键编译
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleDebug
|
||||
|
||||
# Release 版本一键编译
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleRelease
|
||||
```
|
||||
|
||||
### 清理和重新编译
|
||||
```bash
|
||||
# 清理项目
|
||||
.\gradlew.bat clean
|
||||
|
||||
# 重新编译 Debug 版本
|
||||
.\gradlew.bat assembleDebug
|
||||
|
||||
# 重新编译 Release 版本
|
||||
.\gradlew.bat assembleRelease
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **JDK 版本**: 必须使用 Java 11 或更高版本
|
||||
2. **环境变量**: 每次编译前需要设置正确的 JAVA_HOME
|
||||
3. **签名配置**: Release 版本需要配置签名文件
|
||||
4. **混淆规则**: Release 版本会应用 ProGuard 混淆规则
|
||||
5. **资源优化**: Release 版本会进行资源压缩和优化
|
||||
|
||||
## 文件位置
|
||||
|
||||
- **Debug APK**: `app\build\outputs\apk\debug\app-debug.apk`
|
||||
- **Release APK**: `app\build\outputs\apk\release\app-release.apk`
|
||||
- **Gradle Wrapper**: `gradlew.bat`
|
||||
- **构建配置**: `app\build.gradle`
|
||||
|
||||
## 成功标志
|
||||
|
||||
编译成功后会显示:
|
||||
```
|
||||
BUILD SUCCESSFUL in [时间]
|
||||
[数量] actionable tasks: [执行数量] executed, [跳过数量] up-to-date
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**最后更新**: 2025年10月29日
|
||||
**适用版本**: Android Gradle Plugin 8.7.3
|
||||
**JDK 版本**: Android Studio JDK 21
|
||||
Reference in New Issue
Block a user