@@ -231,7 +231,9 @@ $manifest = @{
231
231
python = ' 3.8.0+' ;
232
232
jdk = ' 17.0.10+' ; # jdk17+ works for android cmdlinetools 7.0+
233
233
emsdk = ' 3.1.53+' ;
234
- ' cmdline-tools' = ' 12.0' ; # android cmdlinetools
234
+ cmdlinetools = ' 12.0' ; # android cmdline-tools
235
+ buildtools = ' 34.0.0' ; # android build-tools
236
+ target_sdk = ' 35' # android platforms
235
237
}
236
238
237
239
# the default generator requires explicit specified: osx, ios, android, wasm
@@ -253,12 +255,6 @@ $cmdlinetools_rev = '11076708' # 12.0
253
255
$ndk_r23d_rev = ' 12186248'
254
256
# $ndk_r25d_rev = '12161346'
255
257
256
- $android_sdk_tools = @ {
257
- ' cmdline-tools' = ' 12.0'
258
- ' build-tools' = ' 34.0.0'
259
- ' platforms' = ' 35'
260
- }
261
-
262
258
# eva: evaluated_args
263
259
$options = @ {
264
260
p = $null
@@ -476,6 +472,14 @@ if ($1k.isfile($manifest_file)) {
476
472
. $manifest_file
477
473
}
478
474
475
+ if ($1k.isfile ($Global :__1k_user_profile )) {
476
+ $1k.println (" Loading user build profile: $__1k_user_profile " )
477
+ $user_profile = ConvertFrom-Props (Get-Content $__1k_user_profile )
478
+ foreach ($entry in $user_profile.GetEnumerator ()) {
479
+ $manifest [$entry.Key ] = $entry.Value
480
+ }
481
+ }
482
+
479
483
$install_prefix = if ($options.prefix ) { $options.prefix } else { Join-Path $HOME ' .1kiss' }
480
484
if (! $1k.isdir ($install_prefix )) {
481
485
$1k.mkdirs ($install_prefix )
@@ -1306,11 +1310,11 @@ function setup_android_sdk() {
1306
1310
$sdk_comps = @ ()
1307
1311
1308
1312
# ## cmdline-tools ###
1309
- $cmdlinetools_ver = $ ( $android_sdk_tools [ ' cmdline-tools ' ])
1313
+ $cmdlinetools_ver = $manifest [ ' cmdlinetools ' ]
1310
1314
$sdkmanager_prog , $sdkmanager_ver = $null , $null
1311
1315
$cmdlinetools_prefix = Join-Path $sdk_root " cmdline-tools"
1312
1316
$cmdlinetools_bin = Join-Path $cmdlinetools_prefix " $cmdlinetools_ver /bin"
1313
- $sdkmanager_prog , $sdkmanager_ver = (find_prog - name ' cmdline-tools ' - cmd ' sdkmanager' - path $cmdlinetools_bin - params " --version" , " --sdk_root=$sdk_root " )
1317
+ $sdkmanager_prog , $sdkmanager_ver = (find_prog - name ' cmdlinetools ' - cmd ' sdkmanager' - path $cmdlinetools_bin - params " --version" , " --sdk_root=$sdk_root " )
1314
1318
if (! $sdkmanager_prog ) {
1315
1319
$suffix = $ (' win' , ' linux' , ' mac' ).Get($HOST_OS )
1316
1320
if (! $sdkmanager_prog ) {
@@ -1319,7 +1323,7 @@ function setup_android_sdk() {
1319
1323
$cmdlinetools_pkg_name = " commandlinetools-$suffix -$ ( $cmdlinetools_rev ) _latest.zip"
1320
1324
$cmdlinetools_url = " https://dl.google.com/android/repository/$cmdlinetools_pkg_name "
1321
1325
fetch_pkg $cmdlinetools_url - o $cmdlinetools_pkg_name - exrep " cmdline-tools=$cmdlinetools_ver " - prefix $cmdlinetools_prefix
1322
- $sdkmanager_prog , $_ = (find_prog - name ' cmdline-tools ' - cmd ' sdkmanager' - path $cmdlinetools_bin - params " --version" , " --sdk_root=$sdk_root " - silent $True )
1326
+ $sdkmanager_prog , $_ = (find_prog - name ' cmdlinetools ' - cmd ' sdkmanager' - path $cmdlinetools_bin - params " --version" , " --sdk_root=$sdk_root " - silent $True )
1323
1327
if (! $sdkmanager_prog ) {
1324
1328
throw " Install cmdlinetools version: $sdkmanager_ver fail"
1325
1329
}
@@ -1353,7 +1357,7 @@ function setup_android_sdk() {
1353
1357
if (! $1k.isdir ($ndk_root )) { throw " Install android-ndk-r23d fail, please try again" }
1354
1358
}
1355
1359
else {
1356
- $1k.println (" Not found suitable android ndk, installing by sdkmanager ..." )
1360
+ $1k.println (" Not found suitable android ndk, installing ndk- $ndk_ver by sdkmanager ..." )
1357
1361
1358
1362
$matchInfos = (exec_prog - prog $sdkmanager_prog - params " --sdk_root=$sdk_root " , ' --list' | Select-String ' ndk;' )
1359
1363
if ($null -ne $matchInfos -and $matchInfos.Count -gt 0 ) {
@@ -1382,7 +1386,7 @@ function setup_android_sdk() {
1382
1386
}
1383
1387
1384
1388
if (! $ndkOnly ) {
1385
- $sdk_comps_list = ' platform-tools' , " platforms/android-$ ( $android_sdk_tools [ ' platforms ' ]) " , " build-tools/$ ( $android_sdk_tools [ ' build-tools ' ]) "
1389
+ $sdk_comps_list = ' platform-tools' , " platforms/android-$ ( $manifest [ ' target_sdk ' ]) " , " build-tools/$ ( $manifest [ ' buildtools ' ]) "
1386
1390
foreach ($comp in $sdk_comps_list ) {
1387
1391
if (! $1k.isfile (" $sdk_root /$comp /source.properties" ) -or $updateAdt ) {
1388
1392
$sdk_comps += $comp.Replace (' /' , ' ;' )
0 commit comments