-
Notifications
You must be signed in to change notification settings - Fork 600
/
Copy pathbuild.sh
executable file
·45 lines (36 loc) · 1.11 KB
/
build.sh
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
#!/bin/bash
set -e
if [ "$1" == "--local-aapt" ];then
export LD_LIBRARY_PATH=.
export PATH=.:$PATH
shift
fi
script_dir="$(dirname "$(readlink -f -- "$0")")"
if [ "$#" -eq 1 ]; then
if [ -d "$1" ];then
makes="$(find "$1" -name Android.mk -exec readlink -f -- '{}' \;)"
else
makes="$(readlink -f -- "$1")"
fi
else
cd "$script_dir"
makes="$(find "$PWD/.." -name Android.mk)"
fi
if ! command -v aapt > /dev/null;then
export LD_LIBRARY_PATH=.
export PATH=$PATH:.
fi
if ! command -v aapt > /dev/null;then
echo "Please install aapt (apt install aapt should do)"
exit 1
fi
cd "$script_dir"
echo "$makes" | while read -r f;do
name="$(sed -nE 's/LOCAL_PACKAGE_NAME.*:\=\s*(.*)/\1/p' "$f")"
grep -q treble-overlay <<<"$name" || continue
echo "Generating $name"
path="$(dirname "$f")"
aapt package -f -F "${name}-unsigned.apk" -M "$path/AndroidManifest.xml" -S "$path/res" -I android.jar
LD_LIBRARY_PATH=./signapk/ java -jar signapk/signapk.jar keys/platform.x509.pem keys/platform.pk8 "${name}-unsigned.apk" "${name}.apk"
rm -f "${name}-unsigned.apk"
done