Loading...
Loading...
Guides the user through distributing Tauri applications for Android, including Google Play Store submission, APK and AAB generation, build configuration, signing setup, and version management.
npx skill4agent add dchuk/claude-code-tauri-skills distributing-tauri-for-androidtauri android init# npm
npm run tauri icon /path/to/app-icon.png
# yarn
yarn tauri icon /path/to/app-icon.png
# pnpm
pnpm tauri icon /path/to/app-icon.png
# cargo
cargo tauri icon /path/to/app-icon.pngtauri.conf.json{
"bundle": {
"android": {
"minSdkVersion": 24,
"versionCode": 1
}
}
}| Option | Default | Description |
|---|---|---|
| 24 | Minimum Android SDK version (Android 7.0) |
| Auto-calculated | Integer version code for Play Store |
versionCode = major * 1000000 + minor * 1000 + patch1.2.31002003tauri.conf.json{
"bundle": {
"android": {
"versionCode": 42
}
}
}{
"bundle": {
"android": {
"minSdkVersion": 28
}
}
}# npm
npm run tauri android build -- --aab
# yarn
yarn tauri android build --aab
# pnpm
pnpm tauri android build -- --aab
# cargo
cargo tauri android build --aabgen/android/app/build/outputs/bundle/universalRelease/app-universal-release.aab# npm
npm run tauri android build -- --apk
# yarn
yarn tauri android build --apk
# pnpm
pnpm tauri android build -- --apk
# cargo
cargo tauri android build --apk# Single architecture
npm run tauri android build -- --target aarch64
# Multiple architectures
npm run tauri android build -- --target aarch64 --target armv7aarch64armv7i686x86_64npm run tauri android build -- --apk --split-per-abikeytool -genkey -v -keystore release-key.keystore \
-alias my-app-alias \
-keyalg RSA \
-keysize 2048 \
-validity 10000gen/android/keystore.propertiesstorePassword=your_store_password
keyPassword=your_key_password
keyAlias=my-app-alias
storeFile=/path/to/release-key.keystoregen/android/app/build.gradle.ktsimport java.util.Properties
import java.io.FileInputStream
val keystorePropertiesFile = rootProject.file("keystore.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["storePassword"] as String
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
}
}
}android {
signingConfigs {
create("release") {
keyAlias = System.getenv("ANDROID_KEY_ALIAS")
keyPassword = System.getenv("ANDROID_KEY_PASSWORD")
storeFile = file(System.getenv("ANDROID_KEYSTORE_PATH"))
storePassword = System.getenv("ANDROID_STORE_PASSWORD")
}
}
}gen/android/app/build/outputs/bundle/universalRelease/app-universal-release.aab# Absolute path
storeFile=/Users/username/keys/release-key.keystore
# Relative to gen/android directory
storeFile=../../release-key.keystorepackage.jsonCargo.toml{
"bundle": {
"android": {
"versionCode": 2
}
}
}# Check device Android version
adb shell getprop ro.build.version.sdk--split-per-abi# Development build
npm run tauri android dev
# Release AAB for Play Store
npm run tauri android build -- --aab
# Release APK for testing
npm run tauri android build -- --apk
# Specific architecture
npm run tauri android build -- --aab --target aarch64| File | Location |
|---|---|
| AAB output | |
| APK output | |
| Gradle config | |
| Keystore properties | |
| Android manifest | |