KiteConfigAndroidExtension

Everything Android-only, inside kiteConfig { android { ... } }.

kiteConfig {
id("com.example.jetzy") { android { suffix = ".debug" } }
version("1.4.0") { android { reupload = 1 } }

android {
sdk(min = 26, target = 36, compile = 36)
}
}

Shared truth stays at root. This block holds only the Android SDK and NDK levels. The id suffix lives in id("base") { android { suffix } }, and the build-number dials live in version("x") { android { } }.

The resolved application id is readable as kiteConfig.androidApplicationId: the root id joined with that android suffix. Read it to wire other build logic, for example into a manifest placeholder. You cannot set it here.

Which module types receive each SDK setting

A library DSL simply has no targetSdk, and the KMP-native Android library DSL has neither targetSdk nor ndkVersion, so those are skipped there and reported rather than applied silently.

SettingApplicationClassic libraryKMP-native library
compileSdkyesyesyes
minSdkyesyesyes
targetSdkyesnot in the DSLnot in the DSL
ndkyesyesnot in the DSL

Picking the right version-code dial

Build numbers are not set here. They live in the version topic, in its android { } corner:

You wantSetEffect
The usual: one code per releasenothingthe shared formula applies
To re-upload the same app versionversion("x") { android { reupload } }bumps the low digits only
A different formula on Android onlyversion("x") { android { formula { } } }replaces the shared formula here
One exact number, no formulaversion("x") { android { pin } }bypasses the formula entirely
To be told before Play rejects youversion("x") { android { shipped } }fails the build if the code did not grow

See also

for the formula every platform shares.

for the Android build-number corner.

for the Apple half of the same identity.

when more than one module is an application.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
abstract val compileSdk: Property<Int>

API level that supported Android applications and libraries compile against, written as compileSdk.

Link copied to clipboard
abstract val minSdk: Property<Int>

Lowest API level the app runs on, written as defaultConfig.minSdk in supported Android applications and libraries.

Link copied to clipboard
abstract val ndk: Property<String>

Exact NDK toolchain version for classic Android modules, in Android's major.minor.build form, for example 27.0.12077973.

Link copied to clipboard
override val platform: KitePlatform
Link copied to clipboard
abstract val targetSdk: Property<Int>

API level the app declares it was built for, written as defaultConfig.targetSdk in Android application modules.

Functions

Link copied to clipboard
fun sdk(min: Int? = null, target: Int? = null, compile: Int? = null)

Set any subset of the three SDK levels in one line.