24e3b3b88d
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer. This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
83 lines
2.3 KiB
Groovy
83 lines
2.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"
|
|
}
|
|
|
|
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.v3"
|
|
versionCode getGodotLibraryVersionCode()
|
|
versionName getGodotLibraryVersionName()
|
|
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"
|
|
}
|
|
}
|
|
}
|