Files
mengyanote/mengyanote-backend/data/mengyanote/Android/Linux配置安卓Gradle构建环境.md
2026-03-18 22:03:40 +08:00

244 lines
6.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
---
## ⭐ 概览
目标:在 Debian 12 上搭建可以 **本地编译 Android 原生 APK** 的环境,包含:
- ✅ OpenJDK (推荐 17)
- ✅ Android SDK 命令行工具cmdline-tools
- ✅ Platform toolsadb与 build-tools、platforms
- ✅ 可选NDK / CMake用于原生 C/C++
- ✅ Gradle用于构建
适用场景CI、无 GUI 的服务器、或仅需命令行编译的开发环境。
---
## 🧾 前置条件
- 一台运行 **Debian 12** 的机器(有 sudo 权限)
- 稳定的网络(用于下载 SDK 与工具)
- 建议至少 10GB 可用磁盘空间SDK + 系统镜像可能占用)
---
## 1⃣ 安装基础工具
先更新并安装基础依赖:
```bash
sudo apt update
sudo apt install -y git unzip wget curl zip build-essential
```
这些工具用于下载、解压、构建等。
---
## 2⃣ 安装 JDK推荐OpenJDK 17
Android Gradle PluginAGP对 JDK 有版本要求JDK 17 是安全选择:
```bash
sudo apt install -y openjdk-17-jdk
```
检查版本:
```bash
java -version
# 期望输出类似openjdk version "17.x"
```
---
## 3⃣ 下载并安装 Android SDK 命令行工具
去 Google 官方下载 `commandlinetools` 压缩包,或者用 wget示例
```bash
mkdir -p $HOME/Android/cmdline-tools
cd $HOME/Android/cmdline-tools
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdline-tools.zip
unzip cmdline-tools.zip
# 有时解压出来的目录名是 cmdline-tools移动或重命名为 latest
mv cmdline-tools latest
```
> 🔔 注意:实际下载链接和版本会随时间变化,请按需到 Android 官方网站获取最新版。
---
## 4⃣ 配置环境变量(推荐写入 `~/.bashrc` 或 `~/.zshrc`
将 SDK 路径加入环境变量,保证 `sdkmanager``adb` 等工具可用:
```bash
# 在 ~/.bashrc 或 ~/.zshrc 添加:
export ANDROID_HOME=$HOME/Android
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH
# 使之生效:
source ~/.bashrc
```
---
## 5⃣ 使用 sdkmanager 安装常用组件
通过 `sdkmanager` 安装 `platform-tools`、指定 Android 平台与 build-tools
```bash
sdkmanager --sdk_root=$ANDROID_HOME "platform-tools" "platforms;android-34" "build-tools;34.0.0"
```
可选安装(若需要 NDK / CMake 编译原生代码):
```bash
sdkmanager "ndk;26.1.10909125" "cmake;3.22.1"
```
如果是自动接受许可,可以使用:
```bash
yes | sdkmanager --licenses
```
---
## 6⃣ 安装 Gradle可选系统级
Android 项目通常随 Gradle Wrapper`gradlew`)一起提供,能自动下载合适版本。但若想系统安装:
```bash
wget https://services.gradle.org/distributions/gradle-8.7-bin.zip -P /tmp
sudo unzip -d /opt/gradle /tmp/gradle-8.7-bin.zip
# 添加到 PATH写入 ~/.bashrc
export PATH=/opt/gradle/gradle-8.7/bin:$PATH
```
检查:
```bash
gradle -v
```
---
## 7⃣ 创建或获取一个示例 Android 项目并编译
如果你已经有一个项目,进入项目目录并使用 Gradle Wrapper
```bash
# 如果项目有 gradlew
./gradlew assembleDebug
# 编译成功后 APK 通常位于:
app/build/outputs/apk/debug/app-debug.apk
```
如果想新建一个空项目,可先使用 Android Studio 在本地创建GUI 更方便),或直接从 GitHub 上的模板克隆一个样例工程。
---
## 8⃣ 将 APK 部署到设备或模拟器(可选)
- 真机(需开启 USB 调试):
```bash
adb install -r app/build/outputs/apk/debug/app-debug.apk
```
- 模拟器:需要安装 emulator 与系统镜像(`system-images`),并创建 AVD。命令行使用 `avdmanager` / `emulator`
---
## 9⃣ 常见问题 & 排查建议 ❗
- `sdkmanager` 找不到:确认 PATH 是否包含 `$ANDROID_HOME/cmdline-tools/latest/bin`
- `java` 版本不对Gradle/AGP 可能需要特定 JDK 版本,查看项目 `gradle.properties` / `build.gradle` 推荐的版本。
- 下载慢或失败:考虑使用代理或镜像(国内网络环境常见)。
- 权限问题:若在 `/opt` 等系统目录解压安装,需 `sudo`
---
## 🔁 推荐一键脚本(示例)
下面给出一个**示例脚本**的框架(**请先审阅再运行**,并根据需要改版本号):
```bash
#!/usr/bin/env bash
set -e
# 安装基础工具
sudo apt update
sudo apt install -y git unzip wget curl zip build-essential openjdk-17-jdk
# 目录
SDK_ROOT=$HOME/Android
mkdir -p $SDK_ROOT/cmdline-tools
cd $SDK_ROOT/cmdline-tools
# 下载命令行工具(请确认链接是否过期)
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdline-tools.zip
unzip -o cmdline-tools.zip
mv cmdline-tools latest || true
# 环境变量(仅本次会话)
export ANDROID_HOME=$SDK_ROOT
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH
# 安装 SDK 组件
yes | sdkmanager --sdk_root=$ANDROID_HOME "platform-tools" "platforms;android-34" "build-tools;34.0.0"
echo "安装完成,请将下列行加入你的 ~/.bashrc 或 ~/.zshrc"
echo "export ANDROID_HOME=\$HOME/Android"
echo "export PATH=\$ANDROID_HOME/cmdline-tools/latest/bin:\$ANDROID_HOME/platform-tools:\$PATH"
```
---
## 🔗 参考 & 延伸阅读
- Android 官方开发者网站SDK / command line tools
- Gradle 官方文档
- Android NDK 文档(若使用原生 C/C++
> 上面链接建议直接在浏览器打开 Android 官方站点获取最新版工具和镜像。
---
## ✅ 小结
在 Debian 12 上搭建 Android 原生构建环境的要点:
- 安装合适的 **JDK推荐 17**
- 下载并配置 **Android SDK command-line tools**,并通过 `sdkmanager` 安装 `platform-tools``platforms``build-tools`
- 使用项目自带的 **Gradle Wrapper (`gradlew`)** 进行构建,必要时可系统安装 Gradle
- 如需本地编译原生代码,记得安装 **NDK / CMake**
---