plugins { alias(libs.plugins.android.library) alias(libs.plugins.kotlin.android) } android { namespace = "nfs.mod.mpcore" compileSdk = 35 defaultConfig { minSdk = 27 ndk { // ARM64-only-device prototype (see /ARM64_TRANSLATION_LAYER.md): // mpcore itself is now plain native ARM64 code that drives an // embedded ARM32 CPU-emulation core (Unicorn) instead of being // ARM32 code injected into a natively-loaded libapp.so. abiFilters += listOf("arm64-v8a", "x86_64") } testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") externalNativeBuild { cmake { cppFlags("-std=c++17") } } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } externalNativeBuild { cmake { path("src/main/cpp/CMakeLists.txt") version = "3.22.1" } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) }