Fix Android SDK installation under Windows

This commit is contained in:
Ben Liblit 2018-03-13 18:30:12 -05:00 committed by Ben Liblit
parent 7f8de6d611
commit f568db5de6
1 changed files with 15 additions and 6 deletions

View File

@ -6,6 +6,9 @@ sourceSets.test {
]
}
def osName = System.getProperty('os.name')
def isWindows = osName.startsWith('Windows ')
task downloadDroidBench(type: VerifiedDownload) {
src 'https://codeload.github.com/secure-software-engineering/DroidBench/zip/DroidBench_2.0'
dest "$temporaryDir/DroidBench_2.0.zip"
@ -25,7 +28,7 @@ task unpackDroidBench(type: Sync, dependsOn: downloadDroidBench) {
task downloadAndroidSdk(type: VerifiedDownload) {
def sdkOs
switch (System.getProperty('os.name')) {
switch (osName) {
case ~/Linux/:
sdkOs = 'linux'
checksum '444e22ce8ca0f67353bda4b85175ed3731cae3ffa695ca18119cbacef1c1bea0'
@ -53,9 +56,12 @@ task unpackAndroidSdk(type: Sync, dependsOn: downloadAndroidSdk) {
// TODO: factor out common code in installAndroidBuildTools and installAndroidPlatforms
task installAndroidBuildTools(type: Exec, dependsOn: unpackAndroidSdk) {
def androidSdk = files(unpackAndroidSdk).singleFile
def manager = "$androidSdk/tools/bin/sdkmanager"
def manager = new File(androidSdk, 'tools/bin/sdkmanager')
ext.version = '26.0.2'
commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager build-tools\\;$version >/dev/null"
if (isWindows)
commandLine 'PowerShell', '-Command', "echo y | $manager build-tools`;$version >\$null"
else
commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager build-tools\\;$version >/dev/null"
inputs.dir "$androidSdk/tools"
outputs.dir "$androidSdk/build-tools"
}
@ -67,10 +73,13 @@ task copyDxJar(type: Sync, dependsOn: installAndroidBuildTools) {
// TODO: factor out common code in installAndroidBuildTools and installAndroidPlatforms
task installAndroidPlatforms(type: Exec, dependsOn: unpackAndroidSdk) {
def manager = "${files(unpackAndroidSdk).singleFile}/tools/bin/sdkmanager"
ext.version = "android-${installAndroidBuildTools.version.tokenize('.')[0]}"
commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager platforms\\;$version >/dev/null"
def androidSdk = files(unpackAndroidSdk).singleFile
def manager = new File(androidSdk, 'tools/bin/sdkmanager')
ext.version = "android-${installAndroidBuildTools.version.tokenize('.')[0]}"
if (isWindows)
commandLine 'PowerShell', '-Command', "echo y | $manager platforms`;$version >\$null"
else
commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager platforms\\;$version >/dev/null"
inputs.dir "$androidSdk/tools"
outputs.dir "$androidSdk/platforms"
}