plugins { alias(libs.plugins.android.library) alias(libs.plugins.jetbrains.kotlin.android) } android { namespace = "android.llama.cpp" compileSdk = 35 ndkVersion = "29.0.13113456 rc1" defaultConfig { minSdk = 33 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") ndk { abiFilters += listOf("arm64-v8a") } externalNativeBuild { cmake { arguments += "-DCMAKE_BUILD_TYPE=Release" arguments += "-DCMAKE_C_FLAGS=\"-march=armv8.7a+dotprod+i8mm+sve\"" arguments += "-DCMAKE_CXX_FLAGS=\"-march=armv8.7a+dotprod+i8mm+sve\"" arguments += "-DGGML_CPU_KLEIDIAI=ON" arguments += "-DGGML_LLAMAFILE=OFF" arguments += "-DLLAMA_BUILD_COMMON=ON" arguments += "-DLLAMA_CURL=OFF" cppFlags += listOf() arguments += listOf() cppFlags("") } } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } externalNativeBuild { cmake { path("src/main/cpp/CMakeLists.txt") version = "3.31.6" } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { implementation(libs.androidx.core.ktx) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) }