From d736579bfe97ee11b3e96f2d64ca30d09035303d Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Mon, 5 Jun 2017 15:34:20 -0700 Subject: [PATCH] Add support for Gradle build directory (resolve #802) --- lime/tools/platforms/AndroidPlatform.hx | 20 +++++++++++++++++++- templates/android/template/build.gradle | 3 ++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lime/tools/platforms/AndroidPlatform.hx b/lime/tools/platforms/AndroidPlatform.hx index 223dd2d69..c3bb463bb 100644 --- a/lime/tools/platforms/AndroidPlatform.hx +++ b/lime/tools/platforms/AndroidPlatform.hx @@ -191,7 +191,19 @@ class AndroidPlatform extends PlatformTarget { } - var apkPath = FileSystem.fullPath (targetDirectory) + "/bin/app/build/outputs/apk/" + project.app.file + build + ".apk"; + var outputDirectory = null; + + if (project.config.exists ("android.gradle-build-directory")) { + + outputDirectory = PathHelper.combine (project.config.getString ("android.gradle-build-directory"), project.app.file + "/app/outputs/apk"); + + } else { + + outputDirectory = PathHelper.combine (FileSystem.fullPath (targetDirectory), "bin/app/build/outputs/apk"); + + } + + var apkPath = PathHelper.combine (outputDirectory, project.app.file + build + ".apk"); deviceID = AndroidHelper.install (project, apkPath, deviceID); @@ -315,6 +327,12 @@ class AndroidPlatform extends PlatformTarget { context.ANDROID_GRADLE_PLUGIN = project.config.getString ("android.gradle-plugin", "2.1.0"); context.ANDROID_LIBRARY_PROJECTS = []; + if (project.config.exists ("android.gradle-build-directory")) { + + context.ANDROID_GRADLE_BUILD_DIRECTORY = project.config.getString ("android.gradle-build-directory"); + + } + if (!project.environment.exists ("ANDROID_SDK") || !project.environment.exists ("ANDROID_NDK_ROOT")) { var command = "lime"; diff --git a/templates/android/template/build.gradle b/templates/android/template/build.gradle index f8e7d7246..5483c17ff 100644 --- a/templates/android/template/build.gradle +++ b/templates/android/template/build.gradle @@ -19,7 +19,8 @@ allprojects { jcenter { url "http://jcenter.bintray.com/" } - } + }::if ANDROID_GRADLE_BUILD_DIRECTORY:: + buildDir = "::ANDROID_GRADLE_BUILD_DIRECTORY::/::APP_FILE::/${project.name}"::end:: } task clean(type: Delete) {