diff --git a/platform/android/SCsub b/platform/android/SCsub index f97ad7a8a70..68521fa56b6 100644 --- a/platform/android/SCsub +++ b/platform/android/SCsub @@ -82,9 +82,7 @@ elif sys.platform.startswith("win"): host_subpath = "windows" if lib_arch_dir != "" and host_subpath != "": - if env.dev_build: - lib_type_dir = "dev" - elif env.debug_features: + if env.debug_features: if env.editor_build and env["store_release"]: lib_type_dir = "release" else: diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle index 55fdea02302..444afe31142 100644 --- a/platform/android/java/app/build.gradle +++ b/platform/android/java/app/build.gradle @@ -27,8 +27,6 @@ allprojects { } configurations { - // Initializes a placeholder for the devImplementation dependency configuration. - devImplementation {} // Initializes a placeholder for the monoImplementation dependency configuration. monoImplementation {} } @@ -52,7 +50,6 @@ dependencies { // Godot gradle build mode. In this scenario this project is the only one around and the Godot // library is available through the pre-generated godot-lib.*.aar android archive files. debugImplementation fileTree(dir: 'libs/debug', include: ['**/*.jar', '*.aar']) - devImplementation fileTree(dir: 'libs/dev', include: ['**/*.jar', '*.aar']) releaseImplementation fileTree(dir: 'libs/release', include: ['**/*.jar', '*.aar']) } @@ -205,18 +202,6 @@ android { } } - dev { - initWith debug - // Signing and zip-aligning are skipped for prebuilt builds, but - // performed for Godot gradle builds. - zipAlignEnabled shouldZipAlign() - if (shouldSign()) { - signingConfig signingConfigs.debug - } else { - signingConfig null - } - } - release { // Signing and zip-aligning are skipped for prebuilt builds, but // performed for Godot gradle builds. @@ -250,7 +235,6 @@ android { sourceSets { main.res.srcDirs += ['res'] debug.jniLibs.srcDirs = ['libs/debug', 'libs/debug/vulkan_validation_layers'] - dev.jniLibs.srcDirs = ['libs/dev'] release.jniLibs.srcDirs = ['libs/release'] } @@ -329,9 +313,6 @@ module, so we're ensuring the ':app:preBuild' task is set to run after those tas if (rootProject.tasks.findByPath("copyDebugAARToAppModule") != null) { preBuild.mustRunAfter(rootProject.tasks.named("copyDebugAARToAppModule")) } -if (rootProject.tasks.findByPath("copyDevAARToAppModule") != null) { - preBuild.mustRunAfter(rootProject.tasks.named("copyDevAARToAppModule")) -} if (rootProject.tasks.findByPath("copyReleaseAARToAppModule") != null) { preBuild.mustRunAfter(rootProject.tasks.named("copyReleaseAARToAppModule")) } diff --git a/platform/android/java/build.gradle b/platform/android/java/build.gradle index 702cea4fbff..bf04ffb43a1 100644 --- a/platform/android/java/build.gradle +++ b/platform/android/java/build.gradle @@ -27,8 +27,8 @@ ext { supportedFlavors = ["editor", "template"] supportedAndroidDistributions = ["android", "horizonos", "picoos"] supportedFlavorsBuildTypes = [ - "editor": ["dev", "debug", "release"], - "template": ["dev", "debug", "release"] + "editor": ["debug", "release"], + "template": ["debug", "release"] ] supportedEditions = ["standard", "mono"] @@ -50,11 +50,11 @@ def getSconsTaskName(String flavor, String buildType, String abi) { /** * Generate Godot gradle build template by zipping the source files from the app directory, as well - * as the AAR files generated by 'copyDebugAAR', 'copyDevAAR' and 'copyReleaseAAR'. + * as the AAR files generated by 'copyDebugAAR' and 'copyReleaseAAR'. * The zip file also includes some gradle tools to enable gradle builds from the Godot Editor. */ task zipGradleBuild(type: Zip) { - onlyIf { generateGodotTemplates.state.executed || generateGodotMonoTemplates.state.executed || generateDevTemplate.state.executed } + onlyIf { generateGodotTemplates.state.executed || generateGodotMonoTemplates.state.executed } doFirst { logger.lifecycle("Generating Godot gradle build template") } @@ -124,9 +124,6 @@ def generateBuildTasks(String flavor = "template", String edition = "standard", File targetLibs = new File(libsDir + target) String targetSuffix = target - if (target == "dev") { - targetSuffix = "debug.dev" - } if (!excludeSconsBuildTasks || (targetLibs != null && targetLibs.isDirectory() @@ -315,26 +312,20 @@ task cleanGodotTemplates(type: Delete) { // Delete the Godot templates in the Godot bin directory delete("$binDir/android_debug.apk") - delete("$binDir/android_dev.apk") delete("$binDir/android_release.apk") delete("$binDir/android_monoDebug.apk") - delete("$binDir/android_monoDev.apk") delete("$binDir/android_monoRelease.apk") delete("$binDir/android_source.zip") delete("$binDir/godot-lib.template_debug.aar") - delete("$binDir/godot-lib.template_debug.dev.aar") delete("$binDir/godot-lib.template_release.aar") // Cover deletion for the libs using the previous naming scheme delete("$binDir/godot-lib.debug.aar") - delete("$binDir/godot-lib.dev.aar") delete("$binDir/godot-lib.release.aar") // Delete the native debug symbols files. delete("$binDir/android-editor-debug-native-symbols.zip") - delete("$binDir/android-editor-dev-native-symbols.zip") delete("$binDir/android-editor-release-native-symbols.zip") delete("$binDir/android-template-debug-native-symbols.zip") - delete("$binDir/android-template-dev-native-symbols.zip") delete("$binDir/android-template-release-native-symbols.zip") } diff --git a/platform/android/java/editor/build.gradle b/platform/android/java/editor/build.gradle index 890b64861ce..ab2d17aa31e 100644 --- a/platform/android/java/editor/build.gradle +++ b/platform/android/java/editor/build.gradle @@ -131,14 +131,7 @@ android { } buildTypes { - dev { - initWith debug - applicationIdSuffix ".dev" - manifestPlaceholders += [editorBuildSuffix: " (dev)"] - } - debug { - initWith release applicationIdSuffix ".debug" manifestPlaceholders += [editorBuildSuffix: " (debug)"] signingConfig signingConfigs.debug @@ -147,6 +140,14 @@ android { release { if (hasReleaseSigningConfigs()) { signingConfig signingConfigs.release + } else { + // We default to the debug signingConfigs when the release signing configs are not + // available (e.g: development in Android Studio). + signingConfig signingConfigs.debug + // In addition, we update the application ID to allow installing an Android studio release build + // side by side with a production build from the store. + applicationIdSuffix ".release" + manifestPlaceholders += [editorBuildSuffix: " (release)"] } } } diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt b/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt index 9063471b53f..f3948e8ce13 100644 --- a/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt +++ b/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt @@ -254,7 +254,7 @@ abstract class BaseGodotEditor : GodotActivity(), GameMenuFragment.GameMenuListe editorMessageDispatcher.parseStartIntent(packageManager, intent) - if (BuildConfig.BUILD_TYPE == "dev" && WAIT_FOR_DEBUGGER) { + if (BuildConfig.BUILD_TYPE == "debug" && WAIT_FOR_DEBUGGER) { Debug.waitForDebugger() } @@ -404,7 +404,7 @@ abstract class BaseGodotEditor : GodotActivity(), GameMenuFragment.GameMenuListe override fun getCommandLine(): MutableList { val params = super.getCommandLine() - if (BuildConfig.BUILD_TYPE == "dev" && !params.contains("--benchmark")) { + if (BuildConfig.BUILD_TYPE == "debug" && !params.contains("--benchmark")) { params.add("--benchmark") } return params diff --git a/platform/android/java/lib/build.gradle b/platform/android/java/lib/build.gradle index 66ad96d29c8..bc018679aef 100644 --- a/platform/android/java/lib/build.gradle +++ b/platform/android/java/lib/build.gradle @@ -48,12 +48,6 @@ android { buildConfig = true } - buildTypes { - dev { - initWith debug - } - } - flavorDimensions = ["products"] productFlavors { editor {} @@ -79,13 +73,11 @@ android { sourceSets { debug.jniLibs.srcDirs = ['libs/debug'] - dev.jniLibs.srcDirs = ['libs/dev'] release.jniLibs.srcDirs = ['libs/release'] // Editor jni library editorRelease.jniLibs.srcDirs = ['libs/tools/release'] editorDebug.jniLibs.srcDirs = ['libs/tools/debug'] - editorDev.jniLibs.srcDirs = ['libs/tools/dev'] } libraryVariants.all { variant -> @@ -99,9 +91,9 @@ android { throw new GradleException("Invalid build type: $buildType") } - boolean devBuild = buildType == "dev" - boolean debugSymbols = devBuild - boolean runTests = devBuild + boolean debugBuild = buildType == "debug" + boolean debugSymbols = debugBuild + boolean runTests = debugBuild boolean storeRelease = buildType == "release" boolean productionBuild = storeRelease @@ -109,12 +101,13 @@ android { if (sconsTarget == "template") { // Tests are not supported on template builds runTests = false + + //noinspection GroovyFallthrough switch (buildType) { case "release": sconsTarget += "_release" break case "debug": - case "dev": default: sconsTarget += "_debug" break @@ -123,9 +116,6 @@ android { // Update the name of the generated library def outputSuffix = "${sconsTarget}" - if (devBuild) { - outputSuffix = "${outputSuffix}.dev" - } variant.outputs.all { output -> output.outputFileName = "godot-lib.${outputSuffix}.aar" } @@ -168,7 +158,7 @@ android { def taskName = getSconsTaskName(flavorName, buildType, selectedAbi) tasks.create(name: taskName, type: Exec) { executable sconsExecutableFile.absolutePath - args "--directory=${pathToRootDir}", "platform=android", "store_release=${storeRelease}", "production=${productionBuild}", "dev_mode=${devBuild}", "dev_build=${devBuild}", "debug_symbols=${debugSymbols}", "tests=${runTests}", "target=${sconsTarget}", "arch=${selectedAbi}", "-j" + Runtime.runtime.availableProcessors() + args "--directory=${pathToRootDir}", "platform=android", "store_release=${storeRelease}", "production=${productionBuild}", "dev_mode=${debugBuild}", "dev_build=${debugBuild}", "debug_symbols=${debugSymbols}", "tests=${runTests}", "target=${sconsTarget}", "arch=${selectedAbi}", "-j" + Runtime.runtime.availableProcessors() } // Schedule the tasks so the generated libs are present before the aar file is packaged. diff --git a/platform/android/java/lib/src/main/java/org/godotengine/godot/utils/BenchmarkUtils.kt b/platform/android/java/lib/src/main/java/org/godotengine/godot/utils/BenchmarkUtils.kt index 738f27e877c..72d9efefd43 100644 --- a/platform/android/java/lib/src/main/java/org/godotengine/godot/utils/BenchmarkUtils.kt +++ b/platform/android/java/lib/src/main/java/org/godotengine/godot/utils/BenchmarkUtils.kt @@ -64,7 +64,7 @@ private val benchmarkTracker = Collections.synchronizedMap(LinkedHashMap