android-rust-cli 0.3.2

A CLI tool for generating Android Rust JNI templates in a single command
plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.compose.compiler)
    alias(libs.plugins.android.rust)
}

android {
    namespace = "{{ package_name }}"
    compileSdk = 36
    ndkVersion = "29.0.14206865"

    defaultConfig {
        applicationId = "{{ package_name }}"
        minSdk = 26
        targetSdk = 36
        versionCode = 1
        versionName = "1.0"
    }

    buildFeatures {
        compose = true
    }

    buildTypes {
        release {
            isMinifyEnabled = true
            proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"))
            proguardFiles("proguard-rules.pro")
        }
    }

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_21
        targetCompatibility = JavaVersion.VERSION_21
    }

    kotlin {
        jvmToolchain(21)
    }
}

androidRust {
    module("core") {
        path = file("src/main/jni/core")
        cargoClean = true
        targets = listOf("arm64", "x86_64", "arm", "x86")
        buildType("release") {
            runTests = true
        }
    }
    module("audio") {
        path = file("src/main/jni/audio")
        cargoClean = true
        targets = listOf("arm64", "x86_64", "arm", "x86")
    }
    module("network") {
        path = file("src/main/jni/network")
        cargoClean = true
        targets = listOf("arm64", "x86_64", "arm", "x86")
    }
    minimumSupportedRustVersion = "1.91.1"
}

dependencies {
    implementation(platform(libs.androidx.compose.bom))

    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.appcompat)
    implementation(libs.androidx.constraintlayout)
    implementation(libs.google.material)

    implementation(libs.androidx.compose.ui)
    implementation(libs.androidx.compose.ui.graphics)
    implementation(libs.androidx.compose.ui.tooling.preview)
    implementation(libs.androidx.compose.material3)
    implementation(libs.androidx.compose.foundation)
    implementation(libs.androidx.compose.animation)
    implementation(libs.androidx.activity.compose)
    implementation(libs.androidx.lifecycle.runtime.compose)

    debugImplementation(libs.androidx.compose.ui.tooling)
    debugImplementation(libs.androidx.compose.ui.test.manifest)
}