// Gradle build config for Godot Engine's Android port. apply from: 'config.gradle' buildscript { apply from: 'config.gradle' repositories { google() jcenter() } dependencies { classpath libraries.androidGradlePlugin classpath libraries.kotlinGradlePlugin } } apply plugin: 'com.android.application' allprojects { repositories { mavenCentral() google() jcenter() // 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.supportCoreUtils implementation libraries.kotlinStdLib implementation libraries.v4Support 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) } } android { compileSdkVersion versions.compileSdk buildToolsVersion versions.buildTools compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } defaultConfig { // Feel free to modify the application id to your own. applicationId getExportPackageName() minSdkVersion versions.minSdk targetSdkVersion versions.targetSdk } lintOptions { abortOnError false disable 'MissingTranslation', 'UnusedResources' } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' // Should be uncommented for development purpose within Android Studio // doNotStrip '**/*.so' } // 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'] res.srcDirs = ['res'] aidl.srcDirs = ['aidl'] assets.srcDirs = ['assets'] } debug.jniLibs.srcDirs = ['libs/debug'] release.jniLibs.srcDirs = ['libs/release'] } applicationVariants.all { variant -> variant.outputs.all { output -> output.outputFileName = "android_${variant.name}.apk" } } }