diff --git a/images/macos/scripts/build/install-android-sdk.sh b/images/macos/scripts/build/install-android-sdk.sh index 1cabb1c90..10854358e 100644 --- a/images/macos/scripts/build/install-android-sdk.sh +++ b/images/macos/scripts/build/install-android-sdk.sh @@ -12,9 +12,9 @@ add_filtered_installation_components() { local tools_array=("$@") for item in ${tools_array[@]}; do - # take the last argument after splitting string by ';'' and '-'' - version=$(echo "${item##*[-;]}") - if [[ "$(printf "${minimum_version}\n${version}\n" | sort -V | head -n1)" == "$minimum_version" ]]; then + # Take the last version number that appears after the last '-' or ';' + item_version=$(echo "$item" | grep -oE '[-;][0-9.]+' | grep -oE '[0-9.]+') + if [[ "$(printf "${minimum_version}\n${item_version}\n" | sort -V | head -n1)" == "$minimum_version" ]]; then components+=($item) fi done diff --git a/images/ubuntu/scripts/build/install-android-sdk.sh b/images/ubuntu/scripts/build/install-android-sdk.sh index b6928f1e2..78de3d6cb 100644 --- a/images/ubuntu/scripts/build/install-android-sdk.sh +++ b/images/ubuntu/scripts/build/install-android-sdk.sh @@ -15,8 +15,8 @@ add_filtered_installation_components() { local tools_array=("$@") for item in ${tools_array[@]}; do - # Take the last argument after splitting string by ';'' and '-'' - item_version=$(echo "${item##*[-;]}") + # Take the last version number that appears after the last '-' or ';' + item_version=$(echo "$item" | grep -oE '[-;][0-9.]+' | grep -oE '[0-9.]+') # Semver 'comparison'. Add item to components array, if item's version is greater than or equal to minimum version if [[ "$(printf "${minimum_version}\n${item_version}\n" | sort -V | head -n1)" == "$minimum_version" ]]; then