grim/scripts/android.sh

68 lines
1.6 KiB
Bash
Raw Normal View History

2023-05-17 21:06:02 +03:00
#!/bin/bash
2024-06-19 15:40:07 +03:00
usage="Usage: build_run_android.sh [type] [platform]\n - type: 'debug', 'release'\n - platform: 'v7', 'v8'"
2023-05-17 21:06:02 +03:00
case $1 in
debug|release)
;;
*)
printf "$usage"
2023-05-17 21:06:02 +03:00
exit 1
esac
case $2 in
v7|v8)
;;
*)
printf "$usage"
exit 1
esac
2024-06-19 15:40:07 +03:00
# Setup build directory
BASEDIR=$(cd $(dirname $0) && pwd)
cd ${BASEDIR}
cd ..
# Setup release argument
2023-05-17 21:06:02 +03:00
type=$1
[[ ${type} == "release" ]] && release_param+=(--release)
# Setup platform argument
2023-07-14 11:48:07 +03:00
[[ $2 == "v7" ]] && arch+=(armeabi-v7a)
[[ $2 == "v8" ]] && arch+=(arm64-v8a)
# Setup platform path
2023-07-14 11:48:07 +03:00
[[ $2 == "v7" ]] && platform+=(armv7-linux-androideabi)
[[ $2 == "v8" ]] && platform+=(aarch64-linux-android)
# Install platform
[[ $2 == "v7" ]] && rustup target install armv7-linux-androideabi
[[ $2 == "v8" ]] && rustup target install aarch64-linux-android
2024-06-19 15:40:07 +03:00
# Build native code
2024-06-27 12:30:51 +03:00
mkdir -p android/app/src/main/jniLibs
cargo install cargo-ndk
cargo ndk -t ${arch} -o android/app/src/main/jniLibs build ${release_param}
2023-05-17 21:06:02 +03:00
2024-06-19 15:40:07 +03:00
# Build Android application and launch at all connected devices
2023-04-10 16:02:53 +03:00
if [ $? -eq 0 ]
then
cd android
2024-06-27 12:30:51 +03:00
# Setup gradle argument
[[ $1 == "release" ]] && gradle_param+=(assembleRelease)
[[ $1 == "debug" ]] && gradle_param+=(build)
2023-04-10 16:02:53 +03:00
./gradlew clean
2024-06-27 12:30:51 +03:00
./gradlew ${gradle_param}
# Setup apk path
[[ $1 == "release" ]] && apk_path+=(app/build/outputs/apk/release/app-release.apk)
[[ $1 == "debug" ]] && apk_path+=(app/build/outputs/apk/debug/app-debug.apk)
for SERIAL in $(adb devices | grep -v List | cut -f 1);
do
2024-06-27 12:30:51 +03:00
adb -s $SERIAL install ${apk_path}
sleep 1s
adb -s $SERIAL shell am start -n mw.gri.android/.MainActivity;
done
2023-04-10 16:02:53 +03:00
fi