apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlinx-serialization' android { compileSdk 34 buildToolsVersion = '34.0.0' defaultConfig { applicationId "helium314.keyboard" minSdkVersion 21 targetSdkVersion 34 versionCode 2001 versionName '2.0-beta1' ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } buildTypes { release { minifyEnabled true shrinkResources true debuggable false jniDebuggable false renderscriptDebuggable false } nouserlib { // same as release, but does not allow the user to provide a library minifyEnabled true shrinkResources true debuggable false jniDebuggable false renderscriptDebuggable false } debug { minifyEnabled true jniDebuggable false applicationIdSuffix ".debug" } archivesBaseName = "HeliBoard_" + defaultConfig.versionName } buildFeatures { viewBinding true buildConfig true } externalNativeBuild { ndkBuild { path 'src/main/jni/Android.mk' } } lintOptions { abortOnError true } ndkVersion '26.2.11394342' packagingOptions { jniLibs { // shrinks APK by 3 MB, zipped size unchanged useLegacyPackaging true } } testOptions { unitTests { includeAndroidResources = true } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = JavaVersion.VERSION_17.toString() } // see https://github.com/Helium314/HeliBoard/issues/477 dependenciesInfo { includeInApk = false includeInBundle = false } namespace "helium314.keyboard.latin" } dependencies { // androidx implementation 'androidx.core:core-ktx:1.13.1' implementation 'androidx.preference:preference:1.2.1' implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.autofill:autofill:1.1.0' // kotlin implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3" // when kotlin-serialization is enabled, Android Studio stops complaining about "Unresolved reference: serializer", but the build fails // implementation "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" // color picker for user-defined colors implementation 'com.github.martin-stone:hsv-alpha-color-picker-android:3.1.0' // test testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.11.0' testImplementation 'org.mockito:mockito-inline:5.2.0' testImplementation 'org.robolectric:robolectric:4.12.1' testImplementation 'androidx.test:runner:1.5.2' testImplementation 'androidx.test:core:1.5.0' }