summaryrefslogtreecommitdiff
path: root/platform/android/java/app
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/java/app')
-rw-r--r--platform/android/java/app/AndroidManifest.xml16
-rw-r--r--platform/android/java/app/build.gradle78
-rw-r--r--platform/android/java/app/config.gradle152
-rw-r--r--platform/android/java/app/res/drawable/splash.pngbin0 -> 14766 bytes
-rw-r--r--platform/android/java/app/res/drawable/splash_bg_color.pngbin0 -> 1360 bytes
-rw-r--r--platform/android/java/app/res/drawable/splash_drawable.xml12
-rw-r--r--platform/android/java/app/res/values-ar/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-bg/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-ca/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-cs/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-da/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-de/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-el/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-en/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-es-rES/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-es/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-fa/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-fi/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-fr/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-hi/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-hr/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-hu/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-in/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-it/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-iw/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-ja/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-ko/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-lt/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-lv/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-nb/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-nl/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-pl/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-pt/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-ro/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-ru/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-sk/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-sl/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-sr/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-sv/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-th/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-tl/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-tr/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-uk/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-vi/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-zh-rHK/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-zh-rTW/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values-zh/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values/godot_project_name_string.xml5
-rw-r--r--platform/android/java/app/res/values/themes.xml10
-rw-r--r--platform/android/java/app/src/com/godot/game/GodotApp.java15
50 files changed, 467 insertions, 26 deletions
diff --git a/platform/android/java/app/AndroidManifest.xml b/platform/android/java/app/AndroidManifest.xml
index dbf1dc0f3c..948fa8c00b 100644
--- a/platform/android/java/app/AndroidManifest.xml
+++ b/platform/android/java/app/AndroidManifest.xml
@@ -22,6 +22,11 @@
tools:ignore="GoogleAppIndexingWarning"
android:icon="@mipmap/icon" >
+ <!-- Records the version of the Godot editor used for building -->
+ <meta-data
+ android:name="org.godotengine.editor.version"
+ android:value="${godotEditorVersion}" />
+
<!-- The following metadata values are replaced when Godot exports, modifying them here has no effect. -->
<!-- Do these changes in the export preset. Adding new ones is fine. -->
@@ -30,23 +35,18 @@
android:name="xr_mode_metadata_name"
android:value="xr_mode_metadata_value" />
- <!-- Metadata populated at export time and used by Godot to figure out which plugins must be enabled. -->
- <meta-data
- android:name="plugins"
- android:value="plugins_value"/>
-
<activity
android:name=".GodotApp"
android:label="@string/godot_project_name_string"
- android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
+ android:theme="@style/GodotAppSplashTheme"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|density|keyboard|navigation|screenLayout|uiMode"
android:resizeableActivity="false"
tools:ignore="UnusedAttribute" >
- <!-- Focus awareness metadata populated at export time if the user enables it in the 'Xr Features' section. -->
- <meta-data android:name="com.oculus.vr.focusaware" android:value="oculus_focus_aware_value" />
+ <!-- Focus awareness metadata is updated at export time if the user enables it in the 'Xr Features' section. -->
+ <meta-data android:name="com.oculus.vr.focusaware" android:value="false" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle
index 19202d2310..934c4bf441 100644
--- a/platform/android/java/app/build.gradle
+++ b/platform/android/java/app/build.gradle
@@ -70,8 +70,8 @@ android {
buildToolsVersion versions.buildTools
compileOptions {
- sourceCompatibility 1.8
- targetCompatibility 1.8
+ sourceCompatibility versions.javaVersion
+ targetCompatibility versions.javaVersion
}
defaultConfig {
@@ -80,8 +80,17 @@ android {
ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
+ ndk {
+ String[] export_abi_list = getExportEnabledABIs()
+ abiFilters export_abi_list
+ }
+
+ manifestPlaceholders = [godotEditorVersion: getGodotEditorVersion()]
+
// Feel free to modify the application id to your own.
applicationId getExportPackageName()
+ versionCode getExportVersionCode()
+ versionName getExportVersionName()
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk
}
@@ -91,6 +100,8 @@ android {
disable 'MissingTranslation', 'UnusedResources'
}
+ ndkVersion versions.ndkVersion
+
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
@@ -99,10 +110,41 @@ android {
// doNotStrip '**/*.so'
}
- // Both signing and zip-aligning will be done at export time
- buildTypes.all { buildType ->
- buildType.zipAlignEnabled false
- buildType.signingConfig null
+ signingConfigs {
+ release {
+ File keystoreFile = new File(getReleaseKeystoreFile())
+ if (keystoreFile.isFile()) {
+ storeFile keystoreFile
+ storePassword getReleaseKeystorePassword()
+ keyAlias getReleaseKeyAlias()
+ keyPassword getReleaseKeystorePassword()
+ }
+ }
+ }
+
+ buildTypes {
+
+ debug {
+ // Signing and zip-aligning are skipped for prebuilt builds, but
+ // performed for custom builds.
+ zipAlignEnabled shouldZipAlign()
+ if (shouldSign()) {
+ signingConfig signingConfigs.debug
+ } else {
+ signingConfig null
+ }
+ }
+
+ release {
+ // Signing and zip-aligning are skipped for prebuilt builds, but
+ // performed for custom builds.
+ zipAlignEnabled shouldZipAlign()
+ if (shouldSign()) {
+ signingConfig signingConfigs.release
+ } else {
+ signingConfig null
+ }
+ }
}
sourceSets {
@@ -123,3 +165,27 @@ android {
}
}
}
+
+task copyAndRenameDebugApk(type: Copy) {
+ from "$buildDir/outputs/apk/debug/android_debug.apk"
+ into getExportPath()
+ rename "android_debug.apk", getExportFilename()
+}
+
+task copyAndRenameReleaseApk(type: Copy) {
+ from "$buildDir/outputs/apk/release/android_release.apk"
+ into getExportPath()
+ rename "android_release.apk", getExportFilename()
+}
+
+task copyAndRenameDebugAab(type: Copy) {
+ from "$buildDir/outputs/bundle/debug/build-debug.aab"
+ into getExportPath()
+ rename "build-debug.aab", getExportFilename()
+}
+
+task copyAndRenameReleaseAab(type: Copy) {
+ from "$buildDir/outputs/bundle/release/build-release.aab"
+ into getExportPath()
+ rename "build-release.aab", getExportFilename()
+}
diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle
index acfdef531e..585e517631 100644
--- a/platform/android/java/app/config.gradle
+++ b/platform/android/java/app/config.gradle
@@ -1,12 +1,14 @@
ext.versions = [
- androidGradlePlugin: '3.5.3',
+ androidGradlePlugin: '4.0.1',
compileSdk : 29,
minSdk : 18,
targetSdk : 29,
- buildTools : '29.0.3',
+ buildTools : '30.0.1',
supportCoreUtils : '1.0.0',
- kotlinVersion : '1.3.61',
- v4Support : '1.0.0'
+ kotlinVersion : '1.4.10',
+ v4Support : '1.0.0',
+ javaVersion : 1.8,
+ ndkVersion : '21.4.7075529' // Also update 'platform/android/detect.py#get_project_ndk_version()' when this is updated.
]
@@ -28,7 +30,107 @@ ext.getExportPackageName = { ->
return appId
}
-final String PLUGIN_VALUE_SEPARATOR_REGEX = "\\|"
+ext.getExportVersionCode = { ->
+ String versionCode = project.hasProperty("export_version_code") ? project.property("export_version_code") : ""
+ if (versionCode == null || versionCode.isEmpty()) {
+ versionCode = "1"
+ }
+ try {
+ return Integer.parseInt(versionCode)
+ } catch (NumberFormatException ignored) {
+ return 1
+ }
+}
+
+ext.getExportVersionName = { ->
+ String versionName = project.hasProperty("export_version_name") ? project.property("export_version_name") : ""
+ if (versionName == null || versionName.isEmpty()) {
+ versionName = "1.0"
+ }
+ return versionName
+}
+
+ext.getGodotEditorVersion = { ->
+ String editorVersion = project.hasProperty("godot_editor_version") ? project.property("godot_editor_version") : ""
+ if (editorVersion == null || editorVersion.isEmpty()) {
+ // Try the library version first
+ editorVersion = getGodotLibraryVersion()
+
+ if (editorVersion.isEmpty()) {
+ // Fallback value.
+ editorVersion = "custom_build"
+ }
+ }
+ return editorVersion
+}
+
+ext.getGodotLibraryVersion = { ->
+ // Attempt to read the version from the `version.py` file.
+ String libraryVersion = ""
+
+ File versionFile = new File("../../../version.py")
+ if (versionFile.isFile()) {
+ List<String> requiredKeys = ["major", "minor", "patch", "status", "module_config"]
+ def map = [:]
+
+ List<String> lines = versionFile.readLines()
+ for (String line in lines) {
+ String[] keyValue = line.split("=")
+ String key = keyValue[0].trim()
+ String value = keyValue[1].trim().replaceAll("\"", "")
+
+ if (requiredKeys.contains(key)) {
+ if (!value.isEmpty()) {
+ map[key] = value
+ }
+ requiredKeys.remove(key)
+ }
+ }
+
+ if (requiredKeys.empty) {
+ libraryVersion = map.values().join(".")
+ }
+ }
+
+ if (libraryVersion.isEmpty()) {
+ // Fallback value in case we're unable to read the file.
+ libraryVersion = "custom_build"
+ }
+ return libraryVersion
+}
+
+final String VALUE_SEPARATOR_REGEX = "\\|"
+
+// get the list of ABIs the project should be exported to
+ext.getExportEnabledABIs = { ->
+ String enabledABIs = project.hasProperty("export_enabled_abis") ? project.property("export_enabled_abis") : "";
+ if (enabledABIs == null || enabledABIs.isEmpty()) {
+ enabledABIs = "armeabi-v7a|arm64-v8a|x86|x86_64|"
+ }
+ Set<String> exportAbiFilter = [];
+ for (String abi_name : enabledABIs.split(VALUE_SEPARATOR_REGEX)) {
+ if (!abi_name.trim().isEmpty()){
+ exportAbiFilter.add(abi_name);
+ }
+ }
+ return exportAbiFilter;
+}
+
+ext.getExportPath = {
+ String exportPath = project.hasProperty("export_path") ? project.property("export_path") : ""
+ if (exportPath == null || exportPath.isEmpty()) {
+ exportPath = "."
+ }
+ return exportPath
+}
+
+ext.getExportFilename = {
+ String exportFilename = project.hasProperty("export_filename") ? project.property("export_filename") : ""
+ if (exportFilename == null || exportFilename.isEmpty()) {
+ exportFilename = "godot_android"
+ }
+ return exportFilename
+}
/**
* Parse the project properties for the 'plugins_maven_repos' property and return the list
@@ -41,7 +143,7 @@ ext.getGodotPluginsMavenRepos = { ->
if (project.hasProperty("plugins_maven_repos")) {
String mavenReposProperty = project.property("plugins_maven_repos")
if (mavenReposProperty != null && !mavenReposProperty.trim().isEmpty()) {
- for (String mavenRepoUrl : mavenReposProperty.split(PLUGIN_VALUE_SEPARATOR_REGEX)) {
+ for (String mavenRepoUrl : mavenReposProperty.split(VALUE_SEPARATOR_REGEX)) {
mavenRepos += mavenRepoUrl.trim()
}
}
@@ -61,7 +163,7 @@ ext.getGodotPluginsRemoteBinaries = { ->
if (project.hasProperty("plugins_remote_binaries")) {
String remoteDepsList = project.property("plugins_remote_binaries")
if (remoteDepsList != null && !remoteDepsList.trim().isEmpty()) {
- for (String dep: remoteDepsList.split(PLUGIN_VALUE_SEPARATOR_REGEX)) {
+ for (String dep: remoteDepsList.split(VALUE_SEPARATOR_REGEX)) {
remoteDeps += dep.trim()
}
}
@@ -80,7 +182,7 @@ ext.getGodotPluginsLocalBinaries = { ->
if (project.hasProperty("plugins_local_binaries")) {
String pluginsList = project.property("plugins_local_binaries")
if (pluginsList != null && !pluginsList.trim().isEmpty()) {
- for (String plugin : pluginsList.split(PLUGIN_VALUE_SEPARATOR_REGEX)) {
+ for (String plugin : pluginsList.split(VALUE_SEPARATOR_REGEX)) {
binDeps += plugin.trim()
}
}
@@ -88,3 +190,37 @@ ext.getGodotPluginsLocalBinaries = { ->
return binDeps
}
+
+ext.getReleaseKeystoreFile = { ->
+ String keystoreFile = project.hasProperty("release_keystore_file") ? project.property("release_keystore_file") : ""
+ if (keystoreFile == null || keystoreFile.isEmpty()) {
+ keystoreFile = "."
+ }
+ return keystoreFile
+}
+
+ext.getReleaseKeystorePassword = { ->
+ String keystorePassword = project.hasProperty("release_keystore_password") ? project.property("release_keystore_password") : ""
+ return keystorePassword
+}
+
+ext.getReleaseKeyAlias = { ->
+ String keyAlias = project.hasProperty("release_keystore_alias") ? project.property("release_keystore_alias") : ""
+ return keyAlias
+}
+
+ext.shouldZipAlign = { ->
+ String zipAlignFlag = project.hasProperty("perform_zipalign") ? project.property("perform_zipalign") : ""
+ if (zipAlignFlag == null || zipAlignFlag.isEmpty()) {
+ zipAlignFlag = "false"
+ }
+ return Boolean.parseBoolean(zipAlignFlag)
+}
+
+ext.shouldSign = { ->
+ String signFlag = project.hasProperty("perform_signing") ? project.property("perform_signing") : ""
+ if (signFlag == null || signFlag.isEmpty()) {
+ signFlag = "false"
+ }
+ return Boolean.parseBoolean(signFlag)
+}
diff --git a/platform/android/java/app/res/drawable/splash.png b/platform/android/java/app/res/drawable/splash.png
new file mode 100644
index 0000000000..7bddd4325a
--- /dev/null
+++ b/platform/android/java/app/res/drawable/splash.png
Binary files differ
diff --git a/platform/android/java/app/res/drawable/splash_bg_color.png b/platform/android/java/app/res/drawable/splash_bg_color.png
new file mode 100644
index 0000000000..004b6fd508
--- /dev/null
+++ b/platform/android/java/app/res/drawable/splash_bg_color.png
Binary files differ
diff --git a/platform/android/java/app/res/drawable/splash_drawable.xml b/platform/android/java/app/res/drawable/splash_drawable.xml
new file mode 100644
index 0000000000..30627b998c
--- /dev/null
+++ b/platform/android/java/app/res/drawable/splash_drawable.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/splash_bg_color" />
+
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:filter="false"
+ android:src="@drawable/splash" />
+ </item>
+</layer-list>
diff --git a/platform/android/java/app/res/values-ar/godot_project_name_string.xml b/platform/android/java/app/res/values-ar/godot_project_name_string.xml
new file mode 100644
index 0000000000..23aa5cf3e1
--- /dev/null
+++ b/platform/android/java/app/res/values-ar/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-ar</string>
+</resources>
diff --git a/platform/android/java/app/res/values-bg/godot_project_name_string.xml b/platform/android/java/app/res/values-bg/godot_project_name_string.xml
new file mode 100644
index 0000000000..dbb7e04ae5
--- /dev/null
+++ b/platform/android/java/app/res/values-bg/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-bg</string>
+</resources>
diff --git a/platform/android/java/app/res/values-ca/godot_project_name_string.xml b/platform/android/java/app/res/values-ca/godot_project_name_string.xml
new file mode 100644
index 0000000000..709d0961e6
--- /dev/null
+++ b/platform/android/java/app/res/values-ca/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-ca</string>
+</resources>
diff --git a/platform/android/java/app/res/values-cs/godot_project_name_string.xml b/platform/android/java/app/res/values-cs/godot_project_name_string.xml
new file mode 100644
index 0000000000..ab248a8032
--- /dev/null
+++ b/platform/android/java/app/res/values-cs/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-cs</string>
+</resources>
diff --git a/platform/android/java/app/res/values-da/godot_project_name_string.xml b/platform/android/java/app/res/values-da/godot_project_name_string.xml
new file mode 100644
index 0000000000..906bf44f57
--- /dev/null
+++ b/platform/android/java/app/res/values-da/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-da</string>
+</resources>
diff --git a/platform/android/java/app/res/values-de/godot_project_name_string.xml b/platform/android/java/app/res/values-de/godot_project_name_string.xml
new file mode 100644
index 0000000000..0cacb0175f
--- /dev/null
+++ b/platform/android/java/app/res/values-de/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-de</string>
+</resources>
diff --git a/platform/android/java/app/res/values-el/godot_project_name_string.xml b/platform/android/java/app/res/values-el/godot_project_name_string.xml
new file mode 100644
index 0000000000..047de616a5
--- /dev/null
+++ b/platform/android/java/app/res/values-el/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-el</string>
+</resources>
diff --git a/platform/android/java/app/res/values-en/godot_project_name_string.xml b/platform/android/java/app/res/values-en/godot_project_name_string.xml
new file mode 100644
index 0000000000..bb3a5dbef3
--- /dev/null
+++ b/platform/android/java/app/res/values-en/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-en</string>
+</resources>
diff --git a/platform/android/java/app/res/values-es-rES/godot_project_name_string.xml b/platform/android/java/app/res/values-es-rES/godot_project_name_string.xml
new file mode 100644
index 0000000000..d4537f3496
--- /dev/null
+++ b/platform/android/java/app/res/values-es-rES/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-es_ES</string>
+</resources>
diff --git a/platform/android/java/app/res/values-es/godot_project_name_string.xml b/platform/android/java/app/res/values-es/godot_project_name_string.xml
new file mode 100644
index 0000000000..d63a16022e
--- /dev/null
+++ b/platform/android/java/app/res/values-es/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-es</string>
+</resources>
diff --git a/platform/android/java/app/res/values-fa/godot_project_name_string.xml b/platform/android/java/app/res/values-fa/godot_project_name_string.xml
new file mode 100644
index 0000000000..c303f13d5f
--- /dev/null
+++ b/platform/android/java/app/res/values-fa/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-fa</string>
+</resources>
diff --git a/platform/android/java/app/res/values-fi/godot_project_name_string.xml b/platform/android/java/app/res/values-fi/godot_project_name_string.xml
new file mode 100644
index 0000000000..bd6005574a
--- /dev/null
+++ b/platform/android/java/app/res/values-fi/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-fi</string>
+</resources>
diff --git a/platform/android/java/app/res/values-fr/godot_project_name_string.xml b/platform/android/java/app/res/values-fr/godot_project_name_string.xml
new file mode 100644
index 0000000000..2e94b65a20
--- /dev/null
+++ b/platform/android/java/app/res/values-fr/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-fr</string>
+</resources>
diff --git a/platform/android/java/app/res/values-hi/godot_project_name_string.xml b/platform/android/java/app/res/values-hi/godot_project_name_string.xml
new file mode 100644
index 0000000000..0bf75dcd56
--- /dev/null
+++ b/platform/android/java/app/res/values-hi/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-hi</string>
+</resources>
diff --git a/platform/android/java/app/res/values-hr/godot_project_name_string.xml b/platform/android/java/app/res/values-hr/godot_project_name_string.xml
new file mode 100644
index 0000000000..d3f75910f9
--- /dev/null
+++ b/platform/android/java/app/res/values-hr/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-hr</string>
+</resources>
diff --git a/platform/android/java/app/res/values-hu/godot_project_name_string.xml b/platform/android/java/app/res/values-hu/godot_project_name_string.xml
new file mode 100644
index 0000000000..012b613af3
--- /dev/null
+++ b/platform/android/java/app/res/values-hu/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-hu</string>
+</resources>
diff --git a/platform/android/java/app/res/values-in/godot_project_name_string.xml b/platform/android/java/app/res/values-in/godot_project_name_string.xml
new file mode 100644
index 0000000000..eedecff7a1
--- /dev/null
+++ b/platform/android/java/app/res/values-in/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-in</string>
+</resources>
diff --git a/platform/android/java/app/res/values-it/godot_project_name_string.xml b/platform/android/java/app/res/values-it/godot_project_name_string.xml
new file mode 100644
index 0000000000..7e734047c4
--- /dev/null
+++ b/platform/android/java/app/res/values-it/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-it</string>
+</resources>
diff --git a/platform/android/java/app/res/values-iw/godot_project_name_string.xml b/platform/android/java/app/res/values-iw/godot_project_name_string.xml
new file mode 100644
index 0000000000..03893f0cbb
--- /dev/null
+++ b/platform/android/java/app/res/values-iw/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-iw</string>
+</resources>
diff --git a/platform/android/java/app/res/values-ja/godot_project_name_string.xml b/platform/android/java/app/res/values-ja/godot_project_name_string.xml
new file mode 100644
index 0000000000..f9dd4fab0d
--- /dev/null
+++ b/platform/android/java/app/res/values-ja/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-ja</string>
+</resources>
diff --git a/platform/android/java/app/res/values-ko/godot_project_name_string.xml b/platform/android/java/app/res/values-ko/godot_project_name_string.xml
new file mode 100644
index 0000000000..26f5dac176
--- /dev/null
+++ b/platform/android/java/app/res/values-ko/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-ko</string>
+</resources>
diff --git a/platform/android/java/app/res/values-lt/godot_project_name_string.xml b/platform/android/java/app/res/values-lt/godot_project_name_string.xml
new file mode 100644
index 0000000000..1c2e976cc5
--- /dev/null
+++ b/platform/android/java/app/res/values-lt/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-lt</string>
+</resources>
diff --git a/platform/android/java/app/res/values-lv/godot_project_name_string.xml b/platform/android/java/app/res/values-lv/godot_project_name_string.xml
new file mode 100644
index 0000000000..b5e638ed73
--- /dev/null
+++ b/platform/android/java/app/res/values-lv/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-lv</string>
+</resources>
diff --git a/platform/android/java/app/res/values-nb/godot_project_name_string.xml b/platform/android/java/app/res/values-nb/godot_project_name_string.xml
new file mode 100644
index 0000000000..e6d89d6a3f
--- /dev/null
+++ b/platform/android/java/app/res/values-nb/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-nb</string>
+</resources>
diff --git a/platform/android/java/app/res/values-nl/godot_project_name_string.xml b/platform/android/java/app/res/values-nl/godot_project_name_string.xml
new file mode 100644
index 0000000000..93cb3a3878
--- /dev/null
+++ b/platform/android/java/app/res/values-nl/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-nl</string>
+</resources>
diff --git a/platform/android/java/app/res/values-pl/godot_project_name_string.xml b/platform/android/java/app/res/values-pl/godot_project_name_string.xml
new file mode 100644
index 0000000000..e5d6ac74fb
--- /dev/null
+++ b/platform/android/java/app/res/values-pl/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-pl</string>
+</resources>
diff --git a/platform/android/java/app/res/values-pt/godot_project_name_string.xml b/platform/android/java/app/res/values-pt/godot_project_name_string.xml
new file mode 100644
index 0000000000..a4624655c5
--- /dev/null
+++ b/platform/android/java/app/res/values-pt/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-pt</string>
+</resources>
diff --git a/platform/android/java/app/res/values-ro/godot_project_name_string.xml b/platform/android/java/app/res/values-ro/godot_project_name_string.xml
new file mode 100644
index 0000000000..19e026637e
--- /dev/null
+++ b/platform/android/java/app/res/values-ro/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-ro</string>
+</resources>
diff --git a/platform/android/java/app/res/values-ru/godot_project_name_string.xml b/platform/android/java/app/res/values-ru/godot_project_name_string.xml
new file mode 100644
index 0000000000..284845241f
--- /dev/null
+++ b/platform/android/java/app/res/values-ru/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-ru</string>
+</resources>
diff --git a/platform/android/java/app/res/values-sk/godot_project_name_string.xml b/platform/android/java/app/res/values-sk/godot_project_name_string.xml
new file mode 100644
index 0000000000..f8ab4a5b59
--- /dev/null
+++ b/platform/android/java/app/res/values-sk/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-sk</string>
+</resources>
diff --git a/platform/android/java/app/res/values-sl/godot_project_name_string.xml b/platform/android/java/app/res/values-sl/godot_project_name_string.xml
new file mode 100644
index 0000000000..98bd53e8d2
--- /dev/null
+++ b/platform/android/java/app/res/values-sl/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-sl</string>
+</resources>
diff --git a/platform/android/java/app/res/values-sr/godot_project_name_string.xml b/platform/android/java/app/res/values-sr/godot_project_name_string.xml
new file mode 100644
index 0000000000..3f400f2a4d
--- /dev/null
+++ b/platform/android/java/app/res/values-sr/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-sr</string>
+</resources>
diff --git a/platform/android/java/app/res/values-sv/godot_project_name_string.xml b/platform/android/java/app/res/values-sv/godot_project_name_string.xml
new file mode 100644
index 0000000000..8670b7c9aa
--- /dev/null
+++ b/platform/android/java/app/res/values-sv/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-sv</string>
+</resources>
diff --git a/platform/android/java/app/res/values-th/godot_project_name_string.xml b/platform/android/java/app/res/values-th/godot_project_name_string.xml
new file mode 100644
index 0000000000..a1cc1bcd49
--- /dev/null
+++ b/platform/android/java/app/res/values-th/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-th</string>
+</resources>
diff --git a/platform/android/java/app/res/values-tl/godot_project_name_string.xml b/platform/android/java/app/res/values-tl/godot_project_name_string.xml
new file mode 100644
index 0000000000..6d66d114cf
--- /dev/null
+++ b/platform/android/java/app/res/values-tl/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-tl</string>
+</resources>
diff --git a/platform/android/java/app/res/values-tr/godot_project_name_string.xml b/platform/android/java/app/res/values-tr/godot_project_name_string.xml
new file mode 100644
index 0000000000..ba3bd7de36
--- /dev/null
+++ b/platform/android/java/app/res/values-tr/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-tr</string>
+</resources>
diff --git a/platform/android/java/app/res/values-uk/godot_project_name_string.xml b/platform/android/java/app/res/values-uk/godot_project_name_string.xml
new file mode 100644
index 0000000000..5f14ab25a0
--- /dev/null
+++ b/platform/android/java/app/res/values-uk/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-uk</string>
+</resources>
diff --git a/platform/android/java/app/res/values-vi/godot_project_name_string.xml b/platform/android/java/app/res/values-vi/godot_project_name_string.xml
new file mode 100644
index 0000000000..295378e111
--- /dev/null
+++ b/platform/android/java/app/res/values-vi/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-vi</string>
+</resources>
diff --git a/platform/android/java/app/res/values-zh-rHK/godot_project_name_string.xml b/platform/android/java/app/res/values-zh-rHK/godot_project_name_string.xml
new file mode 100644
index 0000000000..40ab0f285a
--- /dev/null
+++ b/platform/android/java/app/res/values-zh-rHK/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-zh_HK</string>
+</resources>
diff --git a/platform/android/java/app/res/values-zh-rTW/godot_project_name_string.xml b/platform/android/java/app/res/values-zh-rTW/godot_project_name_string.xml
new file mode 100644
index 0000000000..095bd564e2
--- /dev/null
+++ b/platform/android/java/app/res/values-zh-rTW/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-zh_TW</string>
+</resources>
diff --git a/platform/android/java/app/res/values-zh/godot_project_name_string.xml b/platform/android/java/app/res/values-zh/godot_project_name_string.xml
new file mode 100644
index 0000000000..31aa8c273a
--- /dev/null
+++ b/platform/android/java/app/res/values-zh/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name-zh</string>
+</resources>
diff --git a/platform/android/java/app/res/values/godot_project_name_string.xml b/platform/android/java/app/res/values/godot_project_name_string.xml
new file mode 100644
index 0000000000..7ec2738896
--- /dev/null
+++ b/platform/android/java/app/res/values/godot_project_name_string.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WARNING: THIS FILE WILL BE OVERWRITTEN AT BUILD TIME-->
+<resources>
+ <string name="godot_project_name_string">godot-project-name</string>
+</resources>
diff --git a/platform/android/java/app/res/values/themes.xml b/platform/android/java/app/res/values/themes.xml
new file mode 100644
index 0000000000..99f723f5ba
--- /dev/null
+++ b/platform/android/java/app/res/values/themes.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <style name="GodotAppMainTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen"/>
+
+ <style name="GodotAppSplashTheme" parent="@style/GodotAppMainTheme">
+ <item name="android:windowBackground">@drawable/splash_drawable</item>
+ <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
+ </style>
+</resources>
diff --git a/platform/android/java/app/src/com/godot/game/GodotApp.java b/platform/android/java/app/src/com/godot/game/GodotApp.java
index eb884404cd..955446b0c2 100644
--- a/platform/android/java/app/src/com/godot/game/GodotApp.java
+++ b/platform/android/java/app/src/com/godot/game/GodotApp.java
@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
-/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */
+/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -30,11 +30,18 @@
package com.godot.game;
-import org.godotengine.godot.Godot;
+import org.godotengine.godot.FullScreenGodotApp;
+
+import android.os.Bundle;
/**
* Template activity for Godot Android custom builds.
* Feel free to extend and modify this class for your custom logic.
*/
-public class GodotApp extends Godot {
+public class GodotApp extends FullScreenGodotApp {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ setTheme(R.style.GodotAppMainTheme);
+ super.onCreate(savedInstanceState);
+ }
}