Claude-skill-registry build-android-apk

自动化构建 React Native Android APK。包括依赖检查、Debug/Release 构建、设备安装。使用此 Skill 来构建 APK、测试安装、或排查构建问题。

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/build-android-apk" ~/.claude/skills/majiayu000-claude-skill-registry-build-android-apk && rm -rf "$T"
manifest: skills/data/build-android-apk/SKILL.md
source content

Android APK 构建 Skill

项目信息

项目
应用 ID
com.cretas.foodtrace
前端目录
frontend/CretasFoodTrace
构建脚本
scripts/build-android-apk.sh

一键构建

cd /Users/jietaoxie/my-prototype-logistics

# Debug APK(推荐测试)
./scripts/build-android-apk.sh

# Release APK
./scripts/build-android-apk.sh -t release

# 构建并安装到设备
./scripts/build-android-apk.sh -c -i

环境依赖

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export ANDROID_HOME=/Users/jietaoxie/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools

手动构建

cd frontend/CretasFoodTrace

# 1. 安装依赖 + prebuild
npm install
npx expo prebuild --platform android

# 2. 构建 APK
cd android
./gradlew assembleDebug --no-daemon   # Debug
./gradlew assembleRelease --no-daemon # Release

# 3. APK 输出位置
ls app/build/outputs/apk/debug/app-debug.apk
ls app/build/outputs/apk/release/app-release.apk

安装到设备

$ANDROID_HOME/platform-tools/adb devices                    # 检查设备
$ANDROID_HOME/platform-tools/adb install -r app-debug.apk  # 安装
$ANDROID_HOME/platform-tools/adb shell am start -n com.cretas.foodtrace/.MainActivity

常见问题

问题解决方案
JAVA_HOME not set
export JAVA_HOME=...jdk-17.jdk/Contents/Home
SDK location not found
export ANDROID_HOME=~/Library/Android/sdk
No connected devices
启动模拟器:
$ANDROID_HOME/emulator/emulator -avd <name>
Build failed
./gradlew clean
或删除
.gradle
目录
Out of memory增加
gradle.properties
org.gradle.jvmargs

清理缓存

cd frontend/CretasFoodTrace/android
./gradlew --stop && ./gradlew clean
rm -rf ~/.gradle/caches .gradle app/build

Release 签名

# 生成密钥库
keytool -genkeypair -v -storetype PKCS12 -keystore cretas-release.keystore \
  -alias cretas -keyalg RSA -keysize 2048 -validity 10000

# 配置 android/gradle.properties
MYAPP_RELEASE_STORE_FILE=cretas-release.keystore
MYAPP_RELEASE_KEY_ALIAS=cretas
MYAPP_RELEASE_STORE_PASSWORD=your_password