An extension is an ordinary Android app project. Build it with JDK 21, the Android SDK and the Gradle 9.4 wrapper, and put its
code in src/main/kotlin.
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven("https://jitpack.io")
}
}
rootProject.name = "example-comics"
android.useAndroidX=true
kotlin.stdlib.default.dependency=false
plugins {
id("com.android.application") version "8.13.2"
id("org.jetbrains.kotlin.android") version "2.3.20"
id("org.jetbrains.kotlin.plugin.serialization") version "2.3.20"
}
android {
namespace = "org.example.katari.examplecomics"
compileSdk = 36
defaultConfig {
applicationId = "org.example.katari.examplecomics"
minSdk = 29
targetSdk = 36
versionCode = 1
versionName = "4.0.0"
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
dependencies {
compileOnly("com.github.pa2x2.katari:entry-source-api:sdk-4.0.0")
}
-
Keep the SDK
compileOnly, and the libraries below too if you name them yourself, so the APK holds only your own code. Katari supplies all of them. -
kotlin.stdlib.default.dependency=falseleaves Kotlin's standard library out of the APK as well. Katari always loadskotlin.*from its own copy, so a bundled one would only take space. - Katari runs on Android 10 and newer, which is API level 29, and on Linux, where it converts the same APK.