plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) } android { namespace = "dev.amizing25.robinsr" compileSdk = 35 defaultConfig { applicationId = "dev.amizing25.robinsr" minSdk = 30 targetSdk = 35 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { viewBinding = true } ndkVersion = "29.0.13113456 rc1" buildToolsVersion = "35.0.1" } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.navigation.fragment.ktx) implementation(libs.androidx.navigation.ui.ktx) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) } tasks.register("buildRust") { workingDir(projectDir.resolve("src/main/rust")) commandLine( "cargo", "ndk", "-t", "arm64-v8a", "-t", "armeabi-v7a", "-t", "x86", "-t", "x86_64", "-o", "../jniLibs", "build", "--release" ) } tasks.register("cleanRust") { delete("src/main/jniLibs") } tasks.named("preBuild") { dependsOn("buildRust") } tasks.named("clean") { dependsOn("cleanRust") }