Files
July/(红头)项目编译Debug版本和Release版本apk的方法.txt
2026-01-06 17:16:50 +08:00

156 lines
4.6 KiB
Plaintext
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.
# 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