aboutsummaryrefslogtreecommitdiff
path: root/scripts/install_apks.sh
blob: 9e22ee3b98820d302523d8f53a568a517ec1e8f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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"