plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { namespace = "com.wzp.phone" compileSdk = 34 defaultConfig { applicationId = "com.wzp.phone" minSdk = 26 // AAudio requires API 26 targetSdk = 34 versionCode = 1 versionName = "0.1.0" ndk { abiFilters += listOf("arm64-v8a", "armeabi-v7a") } } buildTypes { release { isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.8" } ndkVersion = "26.1.10909125" } // cargo-ndk integration: build the Rust native library for Android targets tasks.register("cargoNdkBuild") { workingDir = file("${project.rootDir}/..") commandLine( "cargo", "ndk", "-t", "arm64-v8a", "-t", "armeabi-v7a", "-o", "${project.projectDir}/src/main/jniLibs", "build", "--release", "-p", "wzp-android" ) } tasks.named("preBuild") { dependsOn("cargoNdkBuild") } dependencies { implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0") implementation("androidx.activity:activity-compose:1.8.2") implementation(platform("androidx.compose:compose-bom:2024.01.00")) implementation("androidx.compose.ui:ui") implementation("androidx.compose.material3:material3") }