はじめに
apk内の AndroidManifest.xml を確認するコマンドを作ったのでメモ
要は AXMLPrinter2.jar
があれば、java で AndroidManifest.xml を読める
java -jar AXMLPrinter2.jar AndroidManifest.xml
以下を cat_android_manifest_from_apk
などで保存して、chmod +x
して使う
#!/usr/bin/env -S bash -e
script_dir=$(cd "$(dirname "${BASH_SOURCE:-$0}")" && pwd) && readonly script_dir
current_dir=$(pwd) && readonly current_dir
url="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2.jar"
jar="$script_dir/AXMLPrinter2.jar"
has() { command -v "${1}" >&/dev/null; }
dl_if_needed() {
[[ -e $jar ]] && return
curl -fSsL -o "$jar" "$url"
}
main() {
if ! has java; then
echo "==> No java found" >&2
exit 1
fi
if [[ $# -eq 0 ]]; then
echo "==> Specify apk" >&2
exit 1
fi
local apk_name
apk_name=$(basename "$1")
local tmpd="$current_dir/tmp_$apk_name"
if [[ ! -e $tmpd ]]; then
unzip -q "$1" -d "$tmpd"
fi
dl_if_needed
java -jar "$jar" "$tmpd/AndroidManifest.xml"
}
main "$@"