2021-06-25 15:45:16 +02:00
|
|
|
// Gradle build config for Godot Engine's Android port.
|
2022-05-31 20:10:15 +02:00
|
|
|
plugins {
|
|
|
|
id 'com.android.application'
|
|
|
|
id 'org.jetbrains.kotlin.android'
|
|
|
|
}
|
2021-06-25 15:45:16 +02:00
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation libraries.kotlinStdLib
|
|
|
|
implementation libraries.androidxFragment
|
|
|
|
implementation project(":lib")
|
2022-06-01 08:26:03 +02:00
|
|
|
|
|
|
|
implementation "androidx.window:window:1.0.0"
|
2021-06-25 15:45:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
android {
|
|
|
|
compileSdkVersion versions.compileSdk
|
|
|
|
buildToolsVersion versions.buildTools
|
|
|
|
ndkVersion versions.ndkVersion
|
|
|
|
|
|
|
|
defaultConfig {
|
|
|
|
// The 'applicationId' suffix allows to install Godot 3.x(v3) and 4.x(v4) on the same device
|
|
|
|
applicationId "org.godotengine.editor.v4"
|
|
|
|
versionCode getGodotLibraryVersionCode()
|
|
|
|
versionName getGodotLibraryVersionName()
|
|
|
|
minSdkVersion versions.minSdk
|
|
|
|
//noinspection ExpiredTargetSdkVersion - Restrict to version 29 until https://github.com/godotengine/godot/pull/51815 is submitted
|
|
|
|
targetSdkVersion 29 // versions.targetSdk
|
|
|
|
|
|
|
|
missingDimensionStrategy 'products', 'editor'
|
|
|
|
}
|
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility versions.javaVersion
|
|
|
|
targetCompatibility versions.javaVersion
|
|
|
|
}
|
|
|
|
|
2022-05-31 20:10:15 +02:00
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = versions.javaVersion
|
|
|
|
}
|
|
|
|
|
2021-06-25 15:45:16 +02:00
|
|
|
buildTypes {
|
|
|
|
dev {
|
|
|
|
initWith debug
|
|
|
|
applicationIdSuffix ".dev"
|
|
|
|
}
|
|
|
|
|
|
|
|
debug {
|
|
|
|
initWith release
|
|
|
|
|
|
|
|
// Need to swap with the release signing config when this is ready for public release.
|
|
|
|
signingConfig signingConfigs.debug
|
|
|
|
}
|
|
|
|
|
|
|
|
release {
|
|
|
|
// This buildtype is disabled below.
|
|
|
|
// The editor can't be used with target=release only, as debugging tools are then not
|
|
|
|
// included, and it would crash on errors instead of reporting them.
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
packagingOptions {
|
|
|
|
// 'doNotStrip' is enabled for development within Android Studio
|
|
|
|
if (shouldNotStrip()) {
|
|
|
|
doNotStrip '**/*.so'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Disable 'release' buildtype.
|
|
|
|
// The editor can't be used with target=release only, as debugging tools are then not
|
|
|
|
// included, and it would crash on errors instead of reporting them.
|
|
|
|
variantFilter { variant ->
|
|
|
|
if (variant.buildType.name == "release") {
|
|
|
|
setIgnore(true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
applicationVariants.all { variant ->
|
|
|
|
variant.outputs.all { output ->
|
|
|
|
def suffix = variant.name == "dev" ? "_dev" : ""
|
|
|
|
output.outputFileName = "android_editor${suffix}.apk"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|