Setup Android Sdk for Tauri

Nestero
Bismillahirrahmanirrahim

Command Line Tools

Command line tools adalah tools yang digunakan untuk kebutuhan membangun aplikasi android yang umumnya sudah di bundle ke dalam android studio, tetapi command line tools bisa diinstall secara mandiri, jadi daripada mengginstall android studio yang berat ops, dan tauri hanya “membutuhkan” sdk dan ndk nya saja maka terlalu berlebihan jika harus menginstall android studio hehhe, ok jadi langsung saja download command line toolsnya di sini, ektrak file zipnya dan letakan di ~/Android/sdk.

SDK

Tauri membutuhkan SDK (Software Development Kit) untuk membangun aplikasi -> membuat file .apk atau .aab, webview (render ui), dll.

Install beberapa paket platforms berikut dengan menggunakan sdkmanager, sdkmanager membutuhkan java minimal versi 17, jadi pastikan sudah menginstall openjdk versi 17.

platform-tools -> tools untuk debuging seperti adb.

platforms-android-x -> API Level.

build-tools;x -> tools untuk build app / sdk.

sdkmanager --licenses
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"

note : 34 merupakan api level untuk android versi 14, bisa disesuaikan.

NDK

Tauri membutuhkan NDK (Native Development Kit) untuk mengkompile kode rust agar bisa berjalan di arsitektur CPU Android. Untuk NDK nya sendiri bisa diunduh di sini, ektrak file zipnya dan letakan di ~/Android/sdk/ndk

Environment

Selanjutnya set environment variabel di .bashrc

# Android SDK
export ANDROID_HOME="$HOME/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/cmdline-tools/bin"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
# Android NDK
export NDK_HOME="$ANDROID_HOME/ndk/<versi-ndk>"

Tauri Project

Tambahkan target untuk android bisa menggunakan rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android atau bisa secara langsung menggunakan cargo tauri android init di dalam project tauri.

Keystore

Paket android memerlukan tanda tangan untuk dapat diinstall pada device android, pada catatan ini akan dicontohkan membuat keystore menggunakan keytool bawaan dari openjdk yang sudah diinstall di awal, mengutip dari dokumentasi tauri.

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

note: untuk nama-keystore.jks dan alias bisa di sesuaikan. Ikuti langkahnya sampai selesai, dan jangan open ke publik untuk keystorenya.

Config Signing Key

Setelah key berhasil dibuat, selanjutnya buat konfigurasi untuk keystore, buat file /src-tauri/gen/android/keystore.properties

password=<isi pasword dengan password yang sudah diset pada saat pembuatan keystore sebelumnya>
keyAlias=upload
storeFile=<path dari upload-keystore.jks>

note: keyAlias sesuai yang sudah diset -alias sebelumnya pada saat pembuatan keystore.

Config Gradle

Edit file /src-tauri/gen/android/app/build.gradle.kts untuk menambahkan keystore yang sudah dibuat konfigurasinya untuk dimasukan kedalam bundle paket android nantinya.

// letakan diatas
import java.io.FileInputStream

// letakan sebelum buildTypes
signingConfigs {
    create("release") {
        val keystorePropertiesFile = rootProject.file("keystore.properties")
        val keystoreProperties = Properties()
        if (keystorePropertiesFile.exists()) {
            keystoreProperties.load(FileInputStream(keystorePropertiesFile))
        }

        keyAlias = keystoreProperties["keyAlias"] as String
        keyPassword = keystoreProperties["password"] as String
        storeFile = file(keystoreProperties["storeFile"] as String)
        storePassword = keystoreProperties["password"] as String
    }
}

// letakan di dalam buildTypes setelah getByName("release") {
signingConfig = signingConfigs.getByName("release")

Build

Sentuhan akhir project tauri bisa dibuild dengan command cargo tauri android build atau cargo tauri android build - -apk untuk spesifik build paket apk, untuk lebih lanjut bisa menggunakan - -help.

Sesungguhnya yang menyebabkan ilmu hilang adalah lupa dan tidak mengulanginya.

"Sesungguhnya yang menyebabkan ilmu hilang adalah lupa dan tidak mengulanginya."

Imam Az-Zuhri rahimahullah

Tags:

Referensi:

Catatan Terkait:

NESTECH ID

Copyright 2025. All rights reserved.