diff options
Diffstat (limited to 'platform/android/java/app')
| -rw-r--r-- | platform/android/java/app/AndroidManifest.xml | 62 | ||||
| -rw-r--r-- | platform/android/java/app/build.gradle | 121 | ||||
| -rw-r--r-- | platform/android/java/app/config.gradle | 12 | ||||
| -rw-r--r-- | platform/android/java/app/src/com/godot/game/GodotApp.java | 40 | 
4 files changed, 235 insertions, 0 deletions
| diff --git a/platform/android/java/app/AndroidManifest.xml b/platform/android/java/app/AndroidManifest.xml new file mode 100644 index 0000000000..ba01ec313b --- /dev/null +++ b/platform/android/java/app/AndroidManifest.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" +    xmlns:tools="http://schemas.android.com/tools" +    package="com.godot.game" +    android:versionCode="1" +    android:versionName="1.0" +    android:installLocation="auto" > + +    <!-- Adding custom text to the manifest is fine, but do it outside the custom USER and APPLICATION BEGIN/END comments, --> +    <!-- as that gets rewritten. --> + +    <supports-screens +        android:smallScreens="true" +        android:normalScreens="true" +        android:largeScreens="true" +        android:xlargeScreens="true" /> + +    <!-- glEsVersion is modified by the exporter, changing this value here has no effect. --> +    <uses-feature +        android:glEsVersion="0x00020000" +        android:required="true" /> + +<!-- Custom user permissions XML added by add-ons. It's recommended to add them from the export preset, though. --> +<!--CHUNK_USER_PERMISSIONS_BEGIN--> +<!--CHUNK_USER_PERMISSIONS_END--> + +    <!-- Any tag in this line after android:icon will be erased when doing custom builds. --> +    <!-- If you want to add tags manually, do before it. --> +    <!-- WARNING: This should stay on a single line until the parsing code is improved. See GH-32414. --> +    <application android:label="@string/godot_project_name_string" android:allowBackup="false" tools:ignore="GoogleAppIndexingWarning" android:icon="@drawable/icon" > + +        <!-- 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. --> + +        <!-- XR mode metadata. This is modified by the exporter based on the selected xr mode. DO NOT CHANGE the values here. --> +        <meta-data +            android:name="xr_mode_metadata_name" +            android:value="xr_mode_metadata_value" /> + +        <activity +            android:name=".GodotApp" +            android:label="@string/godot_project_name_string" +            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" +            android:launchMode="singleTask" +            android:screenOrientation="landscape" +            android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|density|keyboard|navigation|screenLayout|uiMode" +            android:resizeableActivity="false" +            tools:ignore="UnusedAttribute" > + +            <intent-filter> +                <action android:name="android.intent.action.MAIN" /> +                <category android:name="android.intent.category.LAUNCHER" /> +            </intent-filter> +        </activity> + +<!-- Custom application XML added by add-ons. --> +<!--CHUNK_APPLICATION_BEGIN--> +<!--CHUNK_APPLICATION_END--> + +    </application> + +</manifest> diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle new file mode 100644 index 0000000000..9f64c3dc8a --- /dev/null +++ b/platform/android/java/app/build.gradle @@ -0,0 +1,121 @@ +// Gradle build config for Godot Engine's Android port. +// +// Do not remove/modify comments ending with BEGIN/END, they are used to inject +// addon-specific configuration. +apply from: 'config.gradle' + +buildscript { +    apply from: 'config.gradle' + +    repositories { +        google() +        jcenter() +//CHUNK_BUILDSCRIPT_REPOSITORIES_BEGIN +//CHUNK_BUILDSCRIPT_REPOSITORIES_END +    } +    dependencies { +        classpath libraries.androidGradlePlugin +//CHUNK_BUILDSCRIPT_DEPENDENCIES_BEGIN +//CHUNK_BUILDSCRIPT_DEPENDENCIES_END +    } +} + +apply plugin: 'com.android.application' + +allprojects { +    repositories { +        mavenCentral() +        google() +        jcenter() +//CHUNK_ALLPROJECTS_REPOSITORIES_BEGIN +//CHUNK_ALLPROJECTS_REPOSITORIES_END +    } +} + +dependencies { +    if (rootProject.findProject(":lib")) { +        implementation project(":lib") +    } else { +        // Custom 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']) +        releaseImplementation fileTree(dir: 'libs/release', include: ['*.jar', '*.aar']) +    } +//CHUNK_DEPENDENCIES_BEGIN +//CHUNK_DEPENDENCIES_END +} + +android { +    compileSdkVersion versions.compileSdk +    buildToolsVersion versions.buildTools + +    defaultConfig { +        // Feel free to modify the application id to your own. +        applicationId "com.godot.game" +        minSdkVersion versions.minSdk +        targetSdkVersion versions.targetSdk +//CHUNK_ANDROID_DEFAULTCONFIG_BEGIN +//CHUNK_ANDROID_DEFAULTCONFIG_END +    } + +    lintOptions { +        abortOnError false +        disable 'MissingTranslation', 'UnusedResources' +    } + +    packagingOptions { +        exclude 'META-INF/LICENSE' +        exclude 'META-INF/NOTICE' +    } + +    // Both signing and zip-aligning will be done at export time +    buildTypes.all { buildType -> +        buildType.zipAlignEnabled false +        buildType.signingConfig null +    } + +    sourceSets { +        main { +            manifest.srcFile 'AndroidManifest.xml' +            java.srcDirs = [ +                    'src' +//DIR_SRC_BEGIN +//DIR_SRC_END +            ] +            res.srcDirs = [ +                    'res' +//DIR_RES_BEGIN +//DIR_RES_END +            ] +            aidl.srcDirs = [ +                    'aidl' +//DIR_AIDL_BEGIN +//DIR_AIDL_END +            ] +            assets.srcDirs = [ +                    'assets' +//DIR_ASSETS_BEGIN +//DIR_ASSETS_END +            ] +        } +        debug.jniLibs.srcDirs = [ +                'libs/debug' +//DIR_JNI_DEBUG_BEGIN +//DIR_JNI_DEBUG_END +        ] +        release.jniLibs.srcDirs = [ +                'libs/release' +//DIR_JNI_RELEASE_BEGIN +//DIR_JNI_RELEASE_END +        ] +    } + +    applicationVariants.all { variant -> +        variant.outputs.all { output -> +            output.outputFileName = "android_${variant.name}.apk" +        } +    } +} + +//CHUNK_GLOBAL_BEGIN +//CHUNK_GLOBAL_END diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle new file mode 100644 index 0000000000..20c3123221 --- /dev/null +++ b/platform/android/java/app/config.gradle @@ -0,0 +1,12 @@ +ext.versions = [ +        androidGradlePlugin : '3.4.2', +        compileSdk : 28, +        minSdk : 18, +        targetSdk : 28, +        buildTools : '28.0.3', + +] + +ext.libraries = [ +        androidGradlePlugin : "com.android.tools.build:gradle:$versions.androidGradlePlugin" +] diff --git a/platform/android/java/app/src/com/godot/game/GodotApp.java b/platform/android/java/app/src/com/godot/game/GodotApp.java new file mode 100644 index 0000000000..d7469a8765 --- /dev/null +++ b/platform/android/java/app/src/com/godot/game/GodotApp.java @@ -0,0 +1,40 @@ +/*************************************************************************/ +/*  GodotApp.java                                                        */ +/*************************************************************************/ +/*                       This file is part of:                           */ +/*                           GODOT ENGINE                                */ +/*                      https://godotengine.org                          */ +/*************************************************************************/ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur.                 */ +/* Copyright (c) 2014-2019 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       */ +/* "Software"), to deal in the Software without restriction, including   */ +/* without limitation the rights to use, copy, modify, merge, publish,   */ +/* distribute, sublicense, and/or sell copies of the Software, and to    */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions:                                             */ +/*                                                                       */ +/* The above copyright notice and this permission notice shall be        */ +/* included in all copies or substantial portions of the Software.       */ +/*                                                                       */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ +/*************************************************************************/ + +package com.godot.game; + +import org.godotengine.godot.Godot; + +/** + * Template activity for Godot Android custom builds. + * Feel free to extend and modify this class for your custom logic. + */ +public class GodotApp extends Godot { +} |