fall back to other apk providers

This commit is contained in:
j-hc 2023-05-04 22:02:18 +03:00
parent d2d838d1c3
commit 9c026f2e9e
No known key found for this signature in database
GPG Key ID: FCBF5E9C57092AD9
2 changed files with 36 additions and 26 deletions

View File

@ -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"
# --

View File

@ -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