67b38d0ac2
This is necessary to separate subsequent uploads to the Google Play store as each upload needs to increment the version code.
102 lines
3.0 KiB
Groovy
102 lines
3.0 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"
|
|
}
|
|
}
|
|
}
|