@@ -481,12 +481,25 @@ if ($1k.isfile($manifest_file)) {
481481
482482if ($1k.isfile ($Global :__1k_user_profile )) {
483483 $1k.println (" Loading user build profile: $__1k_user_profile " )
484- $user_profile = ConvertFrom-Props (Get-Content $__1k_user_profile )
485- foreach ($entry in $user_profile .GetEnumerator ()) {
484+ $profile_entries = ConvertFrom-Props (Get-Content $__1k_user_profile )
485+ foreach ($entry in $profile_entries .GetEnumerator ()) {
486486 $manifest [$entry.Key ] = $entry.Value
487487 }
488488}
489489
490+ function unescape_path ([string ]$Path ) {
491+ return ($Path -replace ' \\:' , ' :' ) -replace ' \\\\' , ' \'
492+ }
493+
494+ $Script :preferred_sdk_dir = $null
495+ if ($1k.isfile ($Global :__1k_android_local_profile )) {
496+ $1k.println (" Loading android local profile: $__1k_android_local_profile " )
497+ $profile_entries = ConvertFrom-Props (Get-Content $__1k_android_local_profile )
498+ if ($profile_entries.Contains (' sdk.dir' )) {
499+ $Script :preferred_sdk_dir = unescape_path $profile_entries [' sdk.dir' ]
500+ }
501+ }
502+
490503$install_prefix = if ($options.prefix ) { $options.prefix } else { Join-Path $HOME ' .1kiss' }
491504if (! $1k.isdir ($install_prefix )) {
492505 $1k.mkdirs ($install_prefix )
@@ -1278,12 +1291,16 @@ function setup_android_sdk() {
12781291 $ndk_ver = $ndk_ver.Substring (0 , $ndk_ver.Length - 1 )
12791292 }
12801293
1281- $__1k_sdk_root = Join-Path $install_prefix ' adt/sdk'
1282-
12831294 $sdk_dirs = @ ()
1284- $1k.insert ([ref ]$sdk_dirs , $env: ANDROID_HOME )
1285- $1k.insert ([ref ]$sdk_dirs , $env: ANDROID_SDK_ROOT )
1286- $1k.insert ([ref ]$sdk_dirs , $__1k_sdk_root )
1295+ if ($Script :preferred_sdk_dir ) {
1296+ $1k.println (" Add preferred android sdk dir: $Script :preferred_sdk_dir " )
1297+ $sdk_dirs += $Script :preferred_sdk_dir
1298+ } else {
1299+ $__1k_sdk_root = Join-Path $install_prefix ' adt/sdk'
1300+ $1k.insert ([ref ]$sdk_dirs , $env: ANDROID_HOME )
1301+ $1k.insert ([ref ]$sdk_dirs , $env: ANDROID_SDK_ROOT )
1302+ $1k.insert ([ref ]$sdk_dirs , $__1k_sdk_root )
1303+ }
12871304
12881305 $ndk_minor_base = [int ][char ]' a'
12891306
@@ -1337,8 +1354,9 @@ function setup_android_sdk() {
13371354 }
13381355 }
13391356
1340- if (! $sdk_root ) {
1341- $sdk_root = Join-Path $install_prefix ' adt/sdk'
1357+ if (! $sdk_root ) {
1358+ $sdk_root = $Script :preferred_sdk_dir
1359+ if (! $sdk_root ) { Join-Path $install_prefix ' adt/sdk' }
13421360 $1k.mkdirs ($sdk_root )
13431361 }
13441362
0 commit comments