From 5568b3760eb518f4ab727dec66d5a528d6f919ac Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 19 Nov 2018 13:24:35 +0200 Subject: remove hard coded paths, add andre-apk.sh --- andre-apk.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 andre-apk.sh (limited to 'andre-apk.sh') diff --git a/andre-apk.sh b/andre-apk.sh new file mode 100644 index 0000000..90afffa --- /dev/null +++ b/andre-apk.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +argv0="$0" +msg() { printf -- '%s: %s\n' "$(basename "$argv0")" "$@" 1>&2; } +err() { msg "$@"; exit 1; } + +[ -z "$1" ] && err 'usage: ' +pkgfile="$(realpath "$1")" + +arch="$(file ./andre | awk -F', ' '{print $2}')" +case "$arch" in + 'Intel 80386') + arch="x86" + ;; + 'ARM') + arch="armeabi-v7a" + ;; + *) + err "dont know how to convert from elf arch '$arch' to android arch" + ;; +esac + +pkgname="$(aapt2 dump --file AndroidManifest.xml "$1" | grep -o '^ \+A: package="[a-zA-Z0-9._]\+"' | awk -F'"' '{print $2}')" +[ -z "$pkgname" ] && err "not a valid apk (missing package name)" + +tmpdir="$(mktemp -d)" +trap 'rm -rf "$tmpdir"' EXIT +unzip "$1" -d "$tmpdir" + +export ANDROID_PACKAGE_FILE="$pkgfile" +export ANDROID_PACKAGE_CODE_PATH="$tmpdir" +export ANDROID_PACKAGE_NAME="$pkgname" + +# TODO: when we have first release, make this follow XDG spec +export ANDROID_EXTERNAL_FILES_DIR="$PWD/local/data/$pkgname/files" +export ANDROID_EXTERNAL_OBB_DIR="$PWD/local/data/$pkgname/obb" + +# XXX: We only work with unity stuff for now +./andre "$tmpdir/lib/$arch/libunity.so" -- cgit v1.2.3