开发环境搭建:工欲善其事,必先利其器
说实话,做 Android 打包这么多年,我见过太多因为环境没搭好而翻车的案例。有人 SDK 版本不对,有人 Gradle 死活同步不过,还有人把 bundletool 路径配错,折腾一整天。这节课,咱们就把这套环境一次搞定。
我个人习惯先把核心工具链理清楚,再动手安装。你想想看,如果连 Android Studio、SDK、Gradle、bundletool 这几个东西是什么关系都不清楚,配起来肯定一头雾水。下图就是这套工具链的完整画像:
安装 Android Studio
Android Studio 是咱们的主战场,IDE 环境直接决定开发效率。我一般从 developer.android.com/studio 下载最新稳定版,不要追 beta 版,除非你想给 Google 当小白鼠。
关键步骤:
- 下载完成后直接运行安装程序,建议安装到
C:\Android\AndroidStudio或/opt/android-studio - 首屏启动后,选择 "Custom" 安装类型,手动指定 SDK 路径
- 确保勾选 "Android Virtual Device" 组件,方便后续调试 APK / AAB
我建议 SDK 路径也放到一个专门的目录,比如 C:\Android\Sdk,不要用默认带空格的路径。这点小习惯,能帮你省掉很多莫名其妙的编译报错。
配置 Android SDK
SDK 里面主要是平台工具和构建工具。你想想看,没有 SDK,连 adb、aapt2、d8 这些打包利器都用不了。
打开 Android Studio 的 SDK Manager(右上角小图标),按下面这张表选版本:
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| Android SDK Platform 34 | 必须 | 目标编译版本,建议拉满最新稳定版 |
| Android SDK Build-Tools 34.0.0 | 必须 | 打包 APK / AAB 的核心工具集 |
| Android SDK Platform-Tools | 必须 | 包含 adb、fastboot 等调试工具 |
| Intel x86 Atom_64 System Image | 可选 | 模拟器镜像,调试 AAB 时很有用 |
| NDK (Side by side) | 按需 | 只有 native 代码才需要,普通 App 可以跳过 |
⚠️ 避坑指南: 我曾经因为 SDK 里同时装了 30、31、32、33四个版本的 Build-Tools,结果 Gradle 自动选择了老的 30.0.3,打包出来的 AAB 在 Google Play 上签名失败。经验就是——只保留 1~2 个最新的 Build-Tools 版本。
Gradle 构建工具
Gradle 是 Android 的构建大脑。说白了,从源代码到 APK / AAB,中间所有步骤都是它协调的。
Android Studio 自带 Gradle 插件,但 Gradle 本身是独立分发的。我个人习惯用 Gradle Wrapper 来代替全局安装——每个项目自带一份 Gradle 版本,不会相互打架。
项目根目录/
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar # 下载器
│ └── gradle-wrapper.properties # 版本号配置
├── build.gradle.kts # 项目级构建脚本
├── settings.gradle.kts # 模块声明
└── gradlew # Linux/macOS 执行脚本
└── gradlew.bat # Windows 执行脚本
关键配置在 gradle-wrapper.properties 里:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
之后在项目里就能直接用 ./gradlew assembleRelease 打包了。我建议 Gradle 版本和 Android Gradle Plugin (AGP) 版本严格匹配,不然会出现 "Unsupported class file major version" 之类的错误。
AGP 与 Gradle 对应速查:
- AGP 8.2 → Gradle 8.4
- AGP 8.1 → Gradle 8.2
- AGP 8.0 → Gradle 8.0
- AGP 7.4 → Gradle 7.6
安装 bundletool
咱们讲 APK 与 AAB 对比,怎么能少了 bundletool?它是 Google 官方推出的 AAB 处理工具,主要用来做两件事:
- 将 AAB 拆分成 APK 集合
- 在本地模拟 Google Play 的动态分发
安装方式很简单:
# 从 GitHub Releases 下载最新版
# https://github.com/google/bundletool/releases
# 下载后重命名并放在系统 PATH 里
# Linux / macOS
mv bundletool_all.jar bundletool.jar
chmod +x bundletool.jar
sudo mv bundletool.jar /usr/local/bin/
# Windows
# 放到 C:\Android\bundletool\ 并添加环境变量
验证是否安装成功:
java -jar bundletool.jar --version
# 输出类似:1.15.6 就对了
我一般会在 ~/.bashrc 或 ~/.zshrc 里加一行别名:alias bt='java -jar /usr/local/bin/bundletool.jar',这样每条命令少打十几个字符。小技巧,但每天用几十次就很香。
验证环境是否打通
最后,咱们跑一条完整的打包命令,验证整个工具链是否畅顺:
# 1. 进入你的 Android 项目根目录
cd MyApp
# 2. 清理旧构建产物
./gradlew clean
# 3. 打包 Debug APK
./gradlew assembleDebug
# 4. 打包 AAB(新格式)
./gradlew bundleDebug
# 5. 用 bundletool 查看 AAB 内容
java -jar bundletool.jar dump manifest --bundle app/build/outputs/bundle/debug/app-debug.aab
如果最后一步能正确输出 AndroidManifest 的 XML 内容,恭喜你——环境搭建全部完成。接下来就可以放心地研究 APK 和 AAB 的内部结构了。