@@ -275,30 +275,8 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
275275 } ) ;
276276 }
277277
278- this . $androidToolsInfo . validateInfo ( { showWarningsAsErrors : true , validateTargetSdk : true } ) . wait ( ) ;
279- let androidToolsInfo = this . $androidToolsInfo . getToolsInfo ( ) . wait ( ) ;
280- let compileSdk = androidToolsInfo . compileSdkVersion ;
281- let targetSdk = this . getTargetFromAndroidManifest ( ) . wait ( ) || compileSdk ;
282- let buildToolsVersion = androidToolsInfo . buildToolsVersion ;
283- let appCompatVersion = androidToolsInfo . supportRepositoryVersion ;
284- let buildOptions = [ "buildapk" ,
285- `-PcompileSdk=android-${ compileSdk } ` ,
286- `-PtargetSdk=${ targetSdk } ` ,
287- `-PbuildToolsVersion=${ buildToolsVersion } ` ,
288- `-PsupportVersion=${ appCompatVersion } ` ,
289- ] ;
290-
291- if ( this . $options . release ) {
292- buildOptions . push ( "-Prelease" ) ;
293- buildOptions . push ( `-PksPath=${ path . resolve ( this . $options . keyStorePath ) } ` ) ;
294- buildOptions . push ( `-Palias=${ this . $options . keyStoreAlias } ` ) ;
295- buildOptions . push ( `-Ppassword=${ this . $options . keyStoreAliasPassword } ` ) ;
296- buildOptions . push ( `-PksPassword=${ this . $options . keyStorePassword } ` ) ;
297- }
298-
299- if ( ! this . canUseStaticBindingGenerator ( ) ) {
300- buildOptions . push ( "-PdontRunSbg" ) ;
301- }
278+ let buildOptions = this . getBuildOptions ( ) ;
279+ buildOptions . unshift ( "buildapk" ) ;
302280
303281 let gradleBin = this . useGradleWrapper ( projectRoot ) ? path . join ( projectRoot , "gradlew" ) : "gradle" ;
304282 if ( this . $hostInfo . isWindows ) {
@@ -312,6 +290,35 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
312290 } ) . future < void > ( ) ( ) ;
313291 }
314292
293+ public getBuildOptions ( ) : Array < string > {
294+ this . $androidToolsInfo . validateInfo ( { showWarningsAsErrors : true , validateTargetSdk : true } ) . wait ( ) ;
295+ let androidToolsInfo = this . $androidToolsInfo . getToolsInfo ( ) . wait ( ) ;
296+ let compileSdk = androidToolsInfo . compileSdkVersion ;
297+ let targetSdk = this . getTargetFromAndroidManifest ( ) . wait ( ) || compileSdk ;
298+ let buildToolsVersion = androidToolsInfo . buildToolsVersion ;
299+ let appCompatVersion = androidToolsInfo . supportRepositoryVersion ;
300+ let buildOptions = [
301+ `-PcompileSdk=android-${ compileSdk } ` ,
302+ `-PtargetSdk=${ targetSdk } ` ,
303+ `-PbuildToolsVersion=${ buildToolsVersion } ` ,
304+ `-PsupportVersion=${ appCompatVersion } ` ,
305+ ] ;
306+
307+ if ( this . $options . release ) {
308+ buildOptions . push ( "-Prelease" ) ;
309+ buildOptions . push ( `-PksPath=${ path . resolve ( this . $options . keyStorePath ) } ` ) ;
310+ buildOptions . push ( `-Palias=${ this . $options . keyStoreAlias } ` ) ;
311+ buildOptions . push ( `-Ppassword=${ this . $options . keyStoreAliasPassword } ` ) ;
312+ buildOptions . push ( `-PksPassword=${ this . $options . keyStorePassword } ` ) ;
313+ }
314+
315+ if ( ! this . canUseStaticBindingGenerator ( ) ) {
316+ buildOptions . push ( "-PdontRunSbg" ) ;
317+ }
318+
319+ return buildOptions ;
320+ }
321+
315322 public buildForDeploy ( projectRoot : string , buildConfig ?: IBuildConfig ) : IFuture < void > {
316323 return this . buildProject ( projectRoot , buildConfig ) ;
317324 }
@@ -423,14 +430,15 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
423430 }
424431
425432 public afterPrepareAllPlugins ( ) : IFuture < void > {
433+ let buildOptions = this . getBuildOptions ( ) ;
434+ buildOptions . unshift ( "clean" ) ;
426435
427436 let projectRoot = this . platformData . projectRoot ;
428-
429437 let gradleBin = this . useGradleWrapper ( projectRoot ) ? path . join ( projectRoot , "gradlew" ) : "gradle" ;
430438 if ( this . $hostInfo . isWindows ) {
431439 gradleBin += ".bat" ;
432440 }
433- this . spawn ( gradleBin , [ "clean" ] , { stdio : "inherit" , cwd : this . platformData . projectRoot } ) . wait ( ) ;
441+ this . spawn ( gradleBin , buildOptions , { stdio : "inherit" , cwd : this . platformData . projectRoot } ) . wait ( ) ;
434442
435443 return Future . fromResult ( ) ;
436444 }
0 commit comments