diff --git a/bin/templates/cordova/Api.js b/bin/templates/cordova/Api.js index 4422d074..a41f8606 100644 --- a/bin/templates/cordova/Api.js +++ b/bin/templates/cordova/Api.js @@ -58,6 +58,7 @@ function setupEvents(externalEventEmitter) { function Api(platform, platformRootDir, events) { this.platform = PLATFORM; this.root = path.resolve(__dirname, '..'); + this.builder = "gradle"; setupEvents(events); @@ -81,6 +82,7 @@ function Api(platform, platformRootDir, events) { // XXX Override some locations for Android Studio projects if(AndroidStudio.isAndroidStudioProject(self.root) === true) { selfEvents.emit('log', 'Android Studio project detected'); + this.builder="studio"; this.android_studio = true; this.locations.configXml = path.join(self.root, 'app/src/main/res/xml/config.xml'); this.locations.strings = path.join(self.root, 'app/src/main/res/xml/strings.xml'); @@ -257,7 +259,8 @@ Api.prototype.addPlugin = function (plugin, installOptions) { if (plugin.getFrameworks(this.platform).length === 0) return; selfEvents.emit('verbose', 'Updating build files since android plugin contained '); - require('./lib/builders/builders').getBuilder('gradle').prepBuildFiles(); + //This should pick the correct builder, not just get gradle + require('./lib/builders/builders').getBuilder(this.builder).prepBuildFiles(); }.bind(this)) // CB-11022 Return truthy value to prevent running prepare after .thenResolve(true); @@ -290,7 +293,7 @@ Api.prototype.removePlugin = function (plugin, uninstallOptions) { if (plugin.getFrameworks(this.platform).length === 0) return; selfEvents.emit('verbose', 'Updating build files since android plugin contained '); - require('./lib/builders/builders').getBuilder('gradle').prepBuildFiles(); + require('./lib/builders/builders').getBuilder(this.builder).prepBuildFiles(); }.bind(this)) // CB-11022 Return truthy value to prevent running prepare after .thenResolve(true);