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

6.0 KiB
Raw Blame History


概览

目标:在 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 安装基础工具

先更新并安装基础依赖:

sudo apt update
sudo apt install -y git unzip wget curl zip build-essential

这些工具用于下载、解压、构建等。


2 安装 JDK推荐OpenJDK 17

Android Gradle PluginAGP对 JDK 有版本要求JDK 17 是安全选择:

sudo apt install -y openjdk-17-jdk

检查版本:

java -version
# 期望输出类似openjdk version "17.x"

3 下载并安装 Android SDK 命令行工具

去 Google 官方下载 commandlinetools 压缩包,或者用 wget示例

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 路径加入环境变量,保证 sdkmanageradb 等工具可用:

# 在 ~/.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

sdkmanager --sdk_root=$ANDROID_HOME "platform-tools" "platforms;android-34" "build-tools;34.0.0"

可选安装(若需要 NDK / CMake 编译原生代码):

sdkmanager "ndk;26.1.10909125" "cmake;3.22.1"

如果是自动接受许可,可以使用:

yes | sdkmanager --licenses

6 安装 Gradle可选系统级

Android 项目通常随 Gradle Wrappergradlew)一起提供,能自动下载合适版本。但若想系统安装:

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

检查:

gradle -v

7 创建或获取一个示例 Android 项目并编译

如果你已经有一个项目,进入项目目录并使用 Gradle Wrapper

# 如果项目有 gradlew
./gradlew assembleDebug

# 编译成功后 APK 通常位于:
app/build/outputs/apk/debug/app-debug.apk

如果想新建一个空项目,可先使用 Android Studio 在本地创建GUI 更方便),或直接从 GitHub 上的模板克隆一个样例工程。


8 将 APK 部署到设备或模拟器(可选)

  • 真机(需开启 USB 调试):
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


🔁 推荐一键脚本(示例)

下面给出一个示例脚本的框架(请先审阅再运行,并根据需要改版本号):

#!/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-toolsplatformsbuild-tools

  • 使用项目自带的 Gradle Wrapper (gradlew) 进行构建,必要时可系统安装 Gradle

  • 如需本地编译原生代码,记得安装 NDK / CMake