diff options
Diffstat (limited to 'scripts/install_apks.sh')
| -rwxr-xr-x | scripts/install_apks.sh | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/scripts/install_apks.sh b/scripts/install_apks.sh new file mode 100755 index 0000000..9e22ee3 --- /dev/null +++ b/scripts/install_apks.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +if [ "$#" -ne 2 ]; then + echo "Incorrect arguments!" + echo " Using: $0 <BASE_DIR> <SRC_DIR>" + exit 1 +fi + +BASE_DIR=$1 +SRC_DIR=$2 + +APPS_SRC="${SRC_DIR}/apks/apps" +PRIV_APPS_SRC="${SRC_DIR}/apks/priv-apps" +PRELOAD_APP_SRC="${SRC_DIR}/apks/preload-apps" +OVERLAY_APP_SRC="${SRC_DIR}/apks/overlay" + +APPS_DST="${BASE_DIR}/product_a/app" +PRIV_APPS_DST="${BASE_DIR}/product_a/priv-app" +PRELOAD_APP_DST="${BASE_DIR}/system_a/system/preloadapp/app" +OVERLAY_APP_DST="${BASE_DIR}/product_a/overlay" + +install_apks() { + local src_dir=$1 + local dst_dir=$2 + local label=$3 + local partition=$4 + + if [ ! -d "$src_dir" ]; then + echo "[~] No apks avialable ${label}" + return + fi + + local count=0 + for apk in "${src_dir}"/*.apk; do + [ -f "$apk" ] || continue + + app_name=$(basename "$apk" .apk) + app_dst="${dst_dir}/${app_name}" + + echo -e "\t[=] Installing ${app_name} to ${label}..." + mkdir -p "$app_dst" + ./utils/scripts/add_to_fs.sh "$partition" "$app_name" "$label" 1 + + cp -L "$apk" "${app_dst}/${app_name}.apk" + ./utils/scripts/add_to_fs.sh "$partition" "${app_name}.apk" "$label/$app_name" + + count=$((count + 1)) + done + + echo "[i] ${count} APK(s) have been installed as '${label}'" +} + +echo "[*] Installing APKs..." +install_apks "$APPS_SRC" "$APPS_DST" "app" "product_a" +install_apks "$PRIV_APPS_SRC" "$PRIV_APPS_DST" "priv-app" "product_a" +install_apks "$OVERLAY_APP_SRC" "$OVERLAY_APP_DST" "overlay" "product_a" +install_apks "$PRELOAD_APP_SRC" "$PRELOAD_APP_DST" "system/preloadapp/app" "system_a"
\ No newline at end of file |
