123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- // 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()
- mavenCentral()
- //CHUNK_BUILDSCRIPT_REPOSITORIES_BEGIN
- //CHUNK_BUILDSCRIPT_REPOSITORIES_END
- }
- dependencies {
- classpath libraries.androidGradlePlugin
- classpath libraries.kotlinGradlePlugin
- //CHUNK_BUILDSCRIPT_DEPENDENCIES_BEGIN
- //CHUNK_BUILDSCRIPT_DEPENDENCIES_END
- }
- }
- apply plugin: 'com.android.application'
- allprojects {
- repositories {
- google()
- mavenCentral()
- //CHUNK_ALLPROJECTS_REPOSITORIES_BEGIN
- //CHUNK_ALLPROJECTS_REPOSITORIES_END
- // Godot user plugins custom maven repos
- String[] mavenRepos = getGodotPluginsMavenRepos()
- if (mavenRepos != null && mavenRepos.size() > 0) {
- for (String repoUrl : mavenRepos) {
- maven {
- url repoUrl
- }
- }
- }
- }
- }
- dependencies {
- implementation libraries.kotlinStdLib
- implementation libraries.androidxFragment
- if (rootProject.findProject(":lib")) {
- implementation project(":lib")
- } else if (rootProject.findProject(":godot:lib")) {
- implementation project(":godot: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'])
- }
- // Godot user plugins remote dependencies
- String[] remoteDeps = getGodotPluginsRemoteBinaries()
- if (remoteDeps != null && remoteDeps.size() > 0) {
- for (String dep : remoteDeps) {
- implementation dep
- }
- }
- // Godot user plugins local dependencies
- String[] pluginsBinaries = getGodotPluginsLocalBinaries()
- if (pluginsBinaries != null && pluginsBinaries.size() > 0) {
- implementation files(pluginsBinaries)
- }
- //CHUNK_DEPENDENCIES_BEGIN
- //CHUNK_DEPENDENCIES_END
- }
- android {
- compileSdkVersion versions.compileSdk
- buildToolsVersion versions.buildTools
- compileOptions {
- sourceCompatibility versions.javaVersion
- targetCompatibility versions.javaVersion
- }
- assetPacks = [":assetPacks:installTime"]
- defaultConfig {
- // The default ignore pattern for the 'assets' directory includes hidden files and directories which are used by Godot projects.
- aaptOptions {
- ignoreAssetsPattern "!.svn:!.git:!.gitignore:!.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 getExportMinSdkVersion()
- targetSdkVersion getExportTargetSdkVersion()
- //CHUNK_ANDROID_DEFAULTCONFIG_BEGIN
- //CHUNK_ANDROID_DEFAULTCONFIG_END
- }
- lintOptions {
- abortOnError false
- disable 'MissingTranslation', 'UnusedResources'
- }
- ndkVersion versions.ndkVersion
- packagingOptions {
- exclude 'META-INF/LICENSE'
- exclude 'META-INF/NOTICE'
- // 'doNotStrip' is enabled for development within Android Studio
- if (shouldNotStrip()) {
- doNotStrip '**/*.so'
- }
- }
- signingConfigs {
- debug {
- if (hasCustomDebugKeystore()) {
- storeFile new File(getDebugKeystoreFile())
- storePassword getDebugKeystorePassword()
- keyAlias getDebugKeyAlias()
- keyPassword getDebugKeystorePassword()
- }
- }
- 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 {
- 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"
- }
- }
- }
- 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()
- }
- //CHUNK_GLOBAL_BEGIN
- //CHUNK_GLOBAL_END
|