package-android.sh (2046B)
1 #!/bin/env bash 2 set -e 3 4 if [[ $# -ne 1 ]]; then 5 echo "Usage: $0 [x86|x86_64|arm64|armeabi]" 6 echo "Usage: $0 all" 7 echo "Usage: $0 gradle" 8 exit 1 9 fi 10 11 ANDROID_DIR=./QuickJS-android 12 NDK_VERSION=29.0.14206865 13 14 if [[ "$OSTYPE" =~ ^linux-gnu* ]]; then 15 export ANDROID_HOME="${ANDROID_HOME:-${HOME}/Android/Sdk}" 16 export PATH="${PATH}:${ANDROID_HOME}/ndk/${NDK_VERSION}/toolchains/llvm/prebuilt/linux-x86_64/bin" 17 elif [[ "$OSTYPE" =~ ^darwin* ]]; then 18 export ANDROID_HOME="${ANDROID_HOME:-${HOME}/Library/Android/Sdk}" 19 export PATH="${PATH}:${ANDROID_HOME}/ndk/${NDK_VERSION}/toolchains/llvm/prebuilt/darwin-x86_64/bin/" 20 else 21 echo "unsupported platform $OSTYPE" 22 exit -1 23 fi 24 25 export PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin" 26 export ANDROID_SDK_ROOT="${ANDROID_HOME}" 27 export ANDROID_NDK_HOME="${ANDROID_HOME}/ndk/${NDK_VERSION}" 28 29 # Install NDK version if it doesn't exist 30 if [ ! -d "$ANDROID_SDK_ROOT/ndk/$NDK_VERSION" ]; then 31 sdkmanager "ndk;$NDK_VERSION" 32 fi 33 34 JNILIBS_DIR=$ANDROID_DIR/qtart/src/main/jniLibs 35 36 if [ "$1" = "all" ] || [ "$1" = "x86" ]; then 37 ./cross/build-android.sh x86 38 cp ./build-android/x86/libtalerwalletcore.so $JNILIBS_DIR/x86 39 fi 40 41 if [ "$1" = "all" ] || [ "$1" = "x86_64" ]; then 42 ./cross/build-android.sh x86_64 43 cp ./build-android/x86_64/libtalerwalletcore.so $JNILIBS_DIR/x86_64 44 fi 45 46 if [ "$1" = "all" ] || [ "$1" = "arm64" ]; then 47 ./cross/build-android.sh arm64-v8a 48 cp ./build-android/arm64-v8a/libtalerwalletcore.so $JNILIBS_DIR/arm64-v8a 49 fi 50 51 if [ "$1" = "all" ] || [ "$1" = "armeabi" ]; then 52 ./cross/build-android.sh armeabi-v7a 53 cp ./build-android/armeabi-v7a/libtalerwalletcore.so $JNILIBS_DIR/armeabi-v7a 54 fi 55 56 pushd $ANDROID_DIR 57 if [ "${MAVEN_PUBLISH:-0}" = 0 ]; then 58 ./gradlew --build-cache \ 59 --console=plain \ 60 publishToMavenLocal 61 elif [ "${MAVEN_PUBLISH:-0}" = 1 ]; then 62 ./gradlew --build-cache \ 63 --console=plain \ 64 publishAllPublicationsToMavenCentralRepository 65 fi 66 popd 67 68 tput bel