diff --git a/build.sh b/build.sh index 5b98cc2..a061609 100755 --- a/build.sh +++ b/build.sh @@ -55,7 +55,7 @@ if [ "$LOGGING_F" = true ]; then mkdir -p logs; fi #check_deps jq --version >/dev/null || abort "\`jq\` is not installed. install it with 'apt install jq' or equivalent" -java --version | grep openjdk | grep 17 >/dev/null || abort "\`openjdk 17\` is not installed. install it with 'apt install openjdk-17-jre-headless' or equivalent" +java --version >/dev/null || abort "\`openjdk 17\` is not installed. install it with 'apt install openjdk-17-jre-headless' or equivalent" zip --version >/dev/null || abort "\`zip\` is not installed. install it with 'apt install zip' or equivalent" # -- diff --git a/utils.sh b/utils.sh index 92a1774..40ac794 100755 --- a/utils.sh +++ b/utils.sh @@ -325,32 +325,42 @@ build_rv() { local version_f=${version// /} local stock_apk="${TEMP_DIR}/${pkg_name}-${version_f}-${arch}.apk" if [ ! -f "$stock_apk" ]; then - if [ "$dl_from" = apkmirror ]; then - pr "Downloading '${app_name}' from APKMirror" - local apkm_arch - if [ "$arch" = "all" ]; then - apkm_arch="universal" - elif [ "$arch" = "arm64-v8a" ]; then - apkm_arch="arm64-v8a" - elif [ "$arch" = "arm-v7a" ]; then - apkm_arch="armeabi-v7a" - fi - if ! dl_apkmirror "${args[apkmirror_dlurl]}" "$version" "$stock_apk" APK "$apkm_arch" "${args[dpi]}"; then - epr "ERROR: Could not find any release of '${app_name}' with version '${version}', arch '${apkm_arch}' and dpi '${args[dpi]}' from APKMirror" - return 0 - fi - elif [ "$dl_from" = uptodown ]; then - pr "Downloading '${app_name}' from Uptodown" - if ! dl_uptodown "$uptwod_resp" "$version" "$stock_apk"; then - epr "ERROR: Could not download ${app_name} from Uptodown" - return 0 - fi - elif [ "$dl_from" = apkmonk ]; then - pr "Downloading '${app_name}' from Apkmonk" - if ! dl_apkmonk "$apkmonk_resp" "$version" "$stock_apk"; then - epr "ERROR: Could not download ${app_name} from Apkmonk" - return 0 + for dl_p in apkmirror uptodown apkmonk; do + if [ "$dl_p" = apkmirror ]; then + if [ -z "${args[apkmirror_dlurl]}" ]; then continue; fi + pr "Downloading '${app_name}' from APKMirror" + local apkm_arch + if [ "$arch" = "all" ]; then apkm_arch="universal"; + elif [ "$arch" = "arm64-v8a" ]; then apkm_arch="arm64-v8a"; + elif [ "$arch" = "arm-v7a" ]; then apkm_arch="armeabi-v7a"; fi + if ! dl_apkmirror "${args[apkmirror_dlurl]}" "$version" "$stock_apk" APK "$apkm_arch" "${args[dpi]}"; then + epr "ERROR: Could not find any release of '${app_name}' with version '${version}', arch '${apkm_arch}' and dpi '${args[dpi]}' from APKMirror" + continue + fi + break + elif [ "$dl_p" = uptodown ]; then + if [ -z "${args[uptodown_dlurl]}" ]; then continue; fi + if [ -z "${uptwod_resp:-}" ]; then uptwod_resp=$(get_uptodown_resp "${args[uptodown_dlurl]}"); fi + pr "Downloading '${app_name}' from Uptodown" + if ! dl_uptodown "$uptwod_resp" "$version" "$stock_apk"; then + epr "ERROR: Could not download ${app_name} from Uptodown" + continue + fi + break + elif [ "$dl_p" = apkmonk ]; then + if [ -z "${args[apkmonk_dlurl]}" ]; then continue; fi + if [ -z "${apkmonk_resp:-}" ]; then apkmonk_resp=$(get_apkmonk_resp "${args[apkmonk_dlurl]}"); fi + pr "Downloading '${app_name}' from Apkmonk" + if ! dl_apkmonk "$apkmonk_resp" "$version" "$stock_apk"; then + epr "ERROR: Could not download ${app_name} from Apkmonk" + continue + fi + break fi + done + if [ ! -f "$stock_apk" ]; then + epr "ERROR: Could not download ${app_name} from any provider" + return 0 fi fi if [ "${arch}" = "all" ]; then