Add integrated build script

This commit is contained in:
Danny Lin 2021-09-06 02:04:30 -07:00
parent efc99e25c3
commit 61f0eb6a50
No known key found for this signature in database
GPG Key ID: 1988FAA1797EE5AC

35
build.sh Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
set -veuo pipefail
tmp_dir="$(mktemp --tmpdir -d modulebuild.XXXXXXXXXX)"
function cleanup() {
rm -fr "$tmp_dir"
}
trap cleanup EXIT
build_mode="${1:-Release}"
pushd "$(dirname "$0")"
src_dir="$(pwd)"
popd
cd "$tmp_dir"
pushd "$src_dir/riru"
rm -fr out
./gradlew "assemble$build_mode"
popd
pushd "$src_dir/java_module"
# Must always be release due to R8 requirement
./gradlew assembleRelease
popd
unzip "$src_dir/riru/out/safetynet-fix-"*.zip
unzip "$src_dir/java_module/app/build/outputs/apk/release/app-release.apk" classes.dex
sha256sum classes.dex | cut -d' ' -f1 | tr -d '\n' > classes.dex.sha256sum
version="$(grep '^version=' module.prop | cut -d= -f2)"
rm -f "$src_dir/safetynet-fix-$version.zip"
zip -r9 "$src_dir/safetynet-fix-$version.zip" .