mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-29 22:23:01 +00:00
2.4 KiB
2.4 KiB
Android Platform Setup
Prerequisites
1. Android Studio
Download and install from: https://developer.android.com/studio
2. Android SDK
After installing Android Studio:
- Open Android Studio
- Go to Settings > Languages & Frameworks > Android SDK
- Install:
- Android SDK Platform 34 (or latest)
- Android SDK Build-Tools
- Android SDK Platform-Tools
- NDK (Side by side)
3. Environment Variables
Add to your shell profile (~/.zshrc or ~/.bashrc):
export ANDROID_HOME="$HOME/Library/Android/sdk"
export NDK_HOME="$ANDROID_HOME/ndk/$(ls -1 $ANDROID_HOME/ndk | tail -n 1)"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
export PATH="$PATH:$ANDROID_HOME/tools/bin"
4. Rust Android Targets
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
rustup target add i686-linux-android
rustup target add x86_64-linux-android
Initialize Android Project
npm run tauri android init
This creates the Android project in src-tauri/gen/android/.
Development
Using Emulator
- Open Android Studio
- Create AVD (Android Virtual Device)
- Start the emulator
- Run:
npm run tauri android dev
Using Physical Device
- Enable Developer Options on device
- Enable USB Debugging
- Connect device via USB
- Run:
npm run tauri android dev
Building for Android
# Debug build
npm run tauri android build -- --debug
# Release build
npm run tauri android build
Output Files
src-tauri/gen/android/app/build/outputs/
├── apk/
│ ├── debug/
│ │ └── app-debug.apk
│ └── release/
│ └── app-release-unsigned.apk
└── bundle/
└── release/
└── app-release.aab
Signing for Release
Create Keystore
keytool -genkey -v -keystore release.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Configure Signing
Edit src-tauri/gen/android/app/build.gradle.kts:
android {
signingConfigs {
create("release") {
storeFile = file("path/to/release.keystore")
storePassword = System.getenv("KEYSTORE_PASSWORD")
keyAlias = "my-key-alias"
keyPassword = System.getenv("KEY_PASSWORD")
}
}
buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("release")
}
}
}