@@ -240,18 +240,28 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService {
240240 }
241241
242242 private async getRuntimeGradleVersions ( projectDir : string ) : Promise < IRuntimeGradleVersions > {
243- const runtimeVersions : IRuntimeGradleVersions = { } ;
244243 const registryData = await this . $npm . getRegistryPackageData ( TNS_ANDROID_RUNTIME_NAME ) ;
245- let runtimeVersion : string = registryData [ "dist-tags" ] . latest ;
244+ let runtimeGradleVersions : IRuntimeGradleVersions = null ;
246245 if ( projectDir ) {
247- runtimeVersion = this . $platformService . getCurrentPlatformVersion (
246+ const projectRuntimeVersion = this . $platformService . getCurrentPlatformVersion (
248247 this . $devicePlatformsConstants . Android ,
249248 this . $projectDataService . getProjectData ( projectDir ) ) ;
249+ runtimeGradleVersions = this . getGradleVersions ( registryData . versions [ projectRuntimeVersion ] ) ;
250250 }
251251
252- const latestPackageData = registryData . versions [ runtimeVersion ] ;
253- const packageJsonGradle = latestPackageData && latestPackageData . gradle ;
254- if ( packageJsonGradle ) {
252+ if ( ! runtimeGradleVersions ) {
253+ const latestRuntimeVersion = registryData [ "dist-tags" ] . latest ;
254+ runtimeGradleVersions = this . getGradleVersions ( registryData . versions [ latestRuntimeVersion ] ) ;
255+ }
256+
257+ return runtimeGradleVersions || { } ;
258+ }
259+
260+ private getGradleVersions ( packageData : any ) : IRuntimeGradleVersions {
261+ const packageJsonGradle = packageData && packageData . gradle ;
262+ let runtimeVersions : IRuntimeGradleVersions = null ;
263+ if ( packageJsonGradle && ( packageJsonGradle . version || packageJsonGradle . android ) ) {
264+ runtimeVersions = { } ;
255265 runtimeVersions . gradleVersion = packageJsonGradle . version ;
256266 runtimeVersions . gradleAndroidPluginVersion = packageJsonGradle . android ;
257267 }
@@ -271,7 +281,7 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService {
271281 const gradleAndroidPluginVersionPlaceholder = "{{runtimeAndroidPluginVersion}}" ;
272282 const gradleAndroidPluginVersion = version || "3.1.2" ;
273283
274- this . replaceFileContent ( buildGradlePath , gradleAndroidPluginVersionPlaceholder , gradleAndroidPluginVersion ) ;
284+ this . replaceFileContent ( buildGradlePath , gradleAndroidPluginVersionPlaceholder , gradleAndroidPluginVersion ) ;
275285 }
276286
277287 private replaceFileContent ( filePath : string , content : string , replacement : string ) {
0 commit comments