Skip to content

Commit 3fa2432

Browse files
committed
Install more android sdk's
1 parent 3f36433 commit 3fa2432

File tree

1 file changed

+37
-23
lines changed

1 file changed

+37
-23
lines changed

install-android-sdk.ps1

+37-23
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,45 @@
1-
$AndroidToolPath = "${env:ProgramFiles(x86)}\Android\android-sdk\tools\android"
1+
set-strictmode -version 2.0
2+
$ErrorActionPreference="Stop"
3+
4+
$AndroidToolPath = "${env:ProgramFiles(x86)}\Android\android-sdk\tools\android"
25
#$AndroidToolPath = "$env:localappdata\Android\android-sdk\tools\android"
36

4-
Function Get-AndroidSDKs() {
5-
$output = & $AndroidToolPath list sdk --all
6-
$sdks = $output |% {
7-
if ($_ -match '(?<index>\d+)- (?<sdk>.+), revision (?<revision>[\d\.]+)') {
8-
$sdk = New-Object PSObject
9-
Add-Member -InputObject $sdk -MemberType NoteProperty -Name Index -Value $Matches.index
10-
Add-Member -InputObject $sdk -MemberType NoteProperty -Name Name -Value $Matches.sdk
11-
Add-Member -InputObject $sdk -MemberType NoteProperty -Name Revision -Value $Matches.revision
12-
$sdk
13-
}
14-
}
15-
$sdks
7+
Function Get-AllAndroidSDKs() {
8+
$output = & $AndroidToolPath list sdk --all
9+
$sdks = $output |% {
10+
if ($_ -match '(?<index>\d+)- (?<sdk>.+), revision (?<revision>[\d\.]+)') {
11+
$sdk = New-Object PSObject
12+
Add-Member -InputObject $sdk -MemberType NoteProperty -Name Index -Value $Matches.index
13+
Add-Member -InputObject $sdk -MemberType NoteProperty -Name Name -Value $Matches.sdk
14+
Add-Member -InputObject $sdk -MemberType NoteProperty -Name Revision -Value $Matches.revision
15+
$sdk
16+
}
17+
}
18+
$sdks
1619
}
1720

18-
Function Install-AndroidSDK() {
19-
[CmdletBinding()]
20-
Param(
21-
[Parameter(Mandatory=$true, Position=0)]
22-
[PSObject[]]$sdks
21+
Function Execute-AndroidSDKInstall() {
22+
[CmdletBinding()]
23+
Param(
24+
[Parameter(Mandatory=$true, Position=0)]
25+
[PSObject[]]$sdks
2326
)
2427

25-
$sdkIndexes = $sdks |% { $_.Index }
26-
$sdkIndexArgument = [string]::Join(',', $sdkIndexes)
27-
Echo 'y' | & $AndroidToolPath update sdk -u -a -t $sdkIndexArgument
28+
$sdkIndexes = $sdks |% { $_.Index }
29+
$sdkIndexArgument = [string]::Join(',', $sdkIndexes)
30+
Echo 'y' | & $AndroidToolPath update sdk -u -a -t $sdkIndexArgument
31+
}
32+
33+
Function Install-AndroidSDK
34+
{
35+
param([string]$Level)
36+
37+
$sdks = Get-AllAndroidSDKs |? { $_.name -like "sdk platform*API $Level*" -or $_.name -like "google apis*api $Level" }
38+
Execute-AndroidSDKInstall -sdks $sdks
2839
}
2940

30-
$sdks = Get-AndroidSDKs |? { $_.name -like 'sdk platform*API 15*' -or $_.name -like 'google apis*api 15' }
31-
Install-AndroidSDK -sdks $sdks
41+
Install-AndroidSDK 15
42+
Install-AndroidSDK 20
43+
Install-AndroidSDK 21
44+
Install-AndroidSDK 22
45+
Install-AndroidSDK 23

0 commit comments

Comments
 (0)