From 71abee403a58d946909408b8ef7807cf2670b83f Mon Sep 17 00:00:00 2001 From: Timur Doumler Date: Tue, 19 Apr 2016 17:47:10 +0100 Subject: [PATCH] Android Studio exporter: added option to specify build tools option; fixed bug where projects would not load because of invalid buildToolsVersion in app/build.gradle. --- .../jucer_ProjectExport_AndroidStudio.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h index 119d6245ef..96725dec72 100644 --- a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h @@ -45,7 +45,7 @@ public: } //============================================================================== - CachedValue gradleVersion, gradleWrapperVersion, gradleToolchain; + CachedValue gradleVersion, gradleWrapperVersion, gradleToolchain, buildToolsVersion; //============================================================================== AndroidStudioProjectExporter (Project& p, const ValueTree& t) @@ -53,6 +53,7 @@ public: gradleVersion (settings, Ids::gradleVersion, nullptr, "2.10"), gradleWrapperVersion (settings, Ids::gradleWrapperVersion, nullptr, "0.7.0-alpha4"), gradleToolchain (settings, Ids::gradleToolchain, nullptr, "clang"), + buildToolsVersion (settings, Ids::buildToolsVersion, nullptr, "23.0.1"), androidStudioExecutable (findAndroidStudioExecutable()) { name = getName(); @@ -74,6 +75,9 @@ public: props.add (new ChoicePropertyComponent (gradleToolchain.getPropertyAsValue(), "NDK Toolchain", StringArray (toolchains), Array (toolchains)), "The toolchain that gradle should invoke for NDK compilation (variable model.android.ndk.tooclhain in app/build.gradle)"); + + props.add (new TextWithDefaultPropertyComponent (buildToolsVersion, "Android build tools version", 32), + "The Android build tools version that Android Studio should use to build this app"); } void createLibraryModuleExporterProperties (PropertyListBuilder&) override @@ -102,9 +106,6 @@ public: return androidStudioExecutable.startAsProcess ("\"" + targetFolder.getFullPathName() + "\""); } - Value getBuildToolsVersionValue() { return getSetting (Ids::buildToolsVersion); } - String getBuildToolsVersionString() const { return settings [Ids::buildToolsVersion]; } - //============================================================================== void create (const OwnedArray& modules) const override { @@ -531,7 +532,7 @@ private: auto android = new GradleObject ("android"); android->add ("compileSdkVersion", androidMinimumSDK.get().getIntValue()); - android->add ("buildToolsVersion", getBuildToolsVersionString()); + android->add ("buildToolsVersion", buildToolsVersion.get()); android->addChildObject (getAndroidDefaultConfig()); return android;