1plugins {
2 alias(libs.plugins.android.library)
3 alias(libs.plugins.jetbrains.kotlin.android)
4}
5
6android {
7 namespace = "com.arm.aichat"
8 compileSdk = 36
9
10 ndkVersion = "29.0.13113456"
11
12 defaultConfig {
13 minSdk = 33
14
15 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
16 consumerProguardFiles("consumer-rules.pro")
17
18 ndk {
19 abiFilters += listOf("arm64-v8a", "x86_64")
20 }
21 externalNativeBuild {
22 cmake {
23 arguments += "-DCMAKE_BUILD_TYPE=Release"
24 arguments += "-DCMAKE_MESSAGE_LOG_LEVEL=DEBUG"
25 arguments += "-DCMAKE_VERBOSE_MAKEFILE=ON"
26
27 arguments += "-DBUILD_SHARED_LIBS=ON"
28 arguments += "-DLLAMA_BUILD_COMMON=ON"
29 arguments += "-DLLAMA_OPENSSL=OFF"
30
31 arguments += "-DGGML_NATIVE=OFF"
32 arguments += "-DGGML_BACKEND_DL=ON"
33 arguments += "-DGGML_CPU_ALL_VARIANTS=ON"
34 arguments += "-DGGML_LLAMAFILE=OFF"
35 }
36 }
37 aarMetadata {
38 minCompileSdk = 35
39 }
40 }
41 externalNativeBuild {
42 cmake {
43 path("src/main/cpp/CMakeLists.txt")
44 version = "3.31.6"
45 }
46 }
47 compileOptions {
48 sourceCompatibility = JavaVersion.VERSION_17
49 targetCompatibility = JavaVersion.VERSION_17
50 }
51 kotlin {
52 jvmToolchain(17)
53
54 compileOptions {
55 targetCompatibility = JavaVersion.VERSION_17
56 }
57 }
58
59 packaging {
60 resources {
61 excludes += "/META-INF/{AL2.0,LGPL2.1}"
62 }
63 }
64
65 publishing {
66 singleVariant("release") {
67 withJavadocJar()
68 }
69 }
70}
71
72dependencies {
73 implementation(libs.androidx.core.ktx)
74 implementation(libs.androidx.datastore.preferences)
75
76 testImplementation(libs.junit)
77 androidTestImplementation(libs.androidx.junit)
78}