67b38d0ac2
This is necessary to separate subsequent uploads to the Google Play store as each upload needs to increment the version code.
101 lines
3 KiB
Groovy
101 lines
3 KiB
Groovy
// Gradle build config for Godot Engine's Android port.
|
|
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android'
|
|
}
|
|
|
|
dependencies {
|
|
implementation libraries.kotlinStdLib
|
|
implementation libraries.androidxFragment
|
|
implementation project(":lib")
|
|
|
|
implementation "androidx.window:window:1.0.0"
|
|
}
|
|
|
|
ext {
|
|
// Build number added as a suffix to the version code, and incremented for each build/upload to
|
|
// the Google Play store.
|
|
// This should be reset on each stable release of Godot.
|
|
editorBuildNumber = 0
|
|
// Value by which the Godot version code should be offset by to make room for the build number
|
|
editorBuildNumberOffset = 100
|
|
}
|
|
|
|
def generateVersionCode() {
|
|
int libraryVersionCode = getGodotLibraryVersionCode()
|
|
return (libraryVersionCode * editorBuildNumberOffset) + editorBuildNumber
|
|
}
|
|
|
|
def generateVersionName() {
|
|
String libraryVersionName = getGodotLibraryVersionName()
|
|
return libraryVersionName + ".$editorBuildNumber"
|
|
}
|
|
|
|
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 generateVersionCode()
|
|
versionName generateVersionName()
|
|
minSdkVersion versions.minSdk
|
|
targetSdkVersion versions.targetSdk
|
|
|
|
missingDimensionStrategy 'products', 'editor'
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility versions.javaVersion
|
|
targetCompatibility versions.javaVersion
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = versions.javaVersion
|
|
}
|
|
|
|
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"
|
|
}
|
|
}
|
|
}
|