最后更新:2026-06-09
适用版本:BuyPilot v0.1.0
| 组件 | 版本 | 安装方式 |
|---|---|---|
| JDK | 17 | sudo apt install openjdk-17-jdk |
| Android SDK | API 35 | Android Studio 或手动下载 |
| Gradle | 8.9 | 项目自带 gradle wrapper |
export ANDROID_HOME=/path/to/android-sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/toolsmacOS 默认路径:~/Library/Android/sdk
Linux 默认路径:~/Android/Sdk 或自定义路径
项目已包含签名证书:
android/app/release.jks
配置信息(app/build.gradle.kts):
signingConfigs {
create("release") {
storeFile = file("release.jks")
storePassword = "buypilot2026"
keyAlias = "buypilot"
keyPassword = "buypilot2026"
}
}cd android/app
keytool -genkey -v \
-keystore release.jks \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-alias buypilot \
-storepass YOUR_PASSWORD \
-keypass YOUR_PASSWORD \
-dname "CN=BuyPilot, OU=Dev, O=BuyPilot, L=Beijing, ST=Beijing, C=CN"build.gradle.kts 中的 storePassword 和 keyPassword。
# 1. 进入 Android 项目目录
cd android
# 2. 清理(可选,首次编译可跳过)
./gradlew clean
# 3. 编译 Release APK
./gradlew assembleRelease
# 4. 查看输出
ls -lh app/build/outputs/apk/release/android/app/build/outputs/apk/release/app-release.apk
mkdir -p ../dist
cp app/build/outputs/apk/release/app-release.apk ../dist/BuyPilot-v0.1.0-release.apkAPK 内置的后端地址由 .env 文件控制:
# 项目根目录 .env
BUY_PILOT_BASE_URL=https://api.lzjyyds.top
ADMIN_API_KEY=your-admin-key编译时:Gradle 读取 .env 并写入 BuildConfig.BUY_PILOT_BASE_URL
验证:
# 解压 APK 检查内置地址
unzip -p dist/BuyPilot-v0.1.0-release.apk classes.dex | strings | grep "api.lzjyyds"
# 应输出:https://api.lzjyyds.top# 1. 修改 .env
echo "BUY_PILOT_BASE_URL=http://192.168.1.100:8000" > .env
# 2. 重新编译
cd android && ./gradlew assembleReleasecd android
./gradlew assembleDebug
# 输出路径
ls app/build/outputs/apk/debug/app-debug.apk调试版特点:
- 未压缩,体积较大
- 包含调试信息
- 可安装到模拟器/真机
# 查看已连接设备
adb devices
# 安装 APK
adb install dist/BuyPilot-v0.1.0-release.apk
# 覆盖安装
adb install -r dist/BuyPilot-v0.1.0-release.apk# 1. 设备开启无线调试(开发者选项)
# 2. 连接(首次需配对)
adb pair <ip>:<port>
adb connect <ip>:<port>
# 3. 安装
adb install dist/BuyPilot-v0.1.0-release.apk原因:未设置 ANDROID_HOME 环境变量
解决:
# 临时设置
export ANDROID_HOME=/path/to/android-sdk
# 永久设置(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export ANDROID_HOME=/path/to/android-sdk' >> ~/.bashrc
source ~/.bashrc原因:JDK 版本不匹配(需要 JDK 17)
解决:
# 检查当前版本
java -version
# 切换到 JDK 17
sudo update-alternatives --config java
# 选择 java-17-openjdk原因:Gradle 缓存损坏
解决:
cd android
./gradlew clean
rm -rf .gradle build app/build
./gradlew assembleRelease原因:签名不一致(之前安装过其他签名的版本)
解决:
# 卸载旧版本
adb uninstall com.buypilot
# 重新安装
adb install dist/BuyPilot-v0.1.0-release.apk原因:首次编译需下载依赖
解决:
- 首次编译约 5-10 分钟(正常)
- 后续编译使用缓存,约 1-2 分钟
- 使用 Gradle daemon:
./gradlew --daemon assembleRelease
编辑 android/app/build.gradle.kts:
defaultConfig {
versionCode = 2 // 递增(整数)
versionName = "0.2.0" // 语义化版本
}git tag -a v0.1.0 -m "Release v0.1.0"
git push origin v0.1.0创建 scripts/build-apk.sh:
#!/bin/bash
set -e
echo "🔨 Building BuyPilot Release APK..."
cd android
# 清理
./gradlew clean
# 编译
./gradlew assembleRelease
# 复制
mkdir -p ../dist
cp app/build/outputs/apk/release/app-release.apk \
../dist/BuyPilot-v$(grep versionName app/build.gradle.kts | cut -d'"' -f2)-release.apk
echo "✅ APK ready: dist/BuyPilot-v*-release.apk"
ls -lh ../dist/*.apk使用:
chmod +x scripts/build-apk.sh
./scripts/build-apk.sh# 一键编译
cd android && ./gradlew assembleRelease && cp app/build/outputs/apk/release/app-release.apk ../dist/
# 一键安装
adb install -r dist/app-release.apk
# 查看日志
adb logcat | grep -i buypilot文档维护者:BuyPilot 团队
联系方式:项目内部沟通