summaryrefslogtreecommitdiff
path: root/platform/android/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/scripts')
-rwxr-xr-xplatform/android/scripts/debug.sh42
-rwxr-xr-xplatform/android/scripts/metrics.sh14
-rwxr-xr-xplatform/android/scripts/ndk.sh123
3 files changed, 7 insertions, 172 deletions
diff --git a/platform/android/scripts/debug.sh b/platform/android/scripts/debug.sh
deleted file mode 100755
index 909c47f992..0000000000
--- a/platform/android/scripts/debug.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-# Automation of https://github.com/mapbox/mapbox-gl-native/wiki/Android-debugging-with-remote-GDB
-
-export MASON_ANDROID_ARCH=x86
-export MASON_ANDROID_PLATFORM=9
-export MASON_ANDROID_NDK_VERSION=r14
-
-export MASON_XC_ROOT=`scripts/mason.sh PREFIX android-ndk VERSION ${MASON_ANDROID_ARCH}-${MASON_ANDROID_PLATFORM}-${MASON_ANDROID_NDK_VERSION}`
-source ${MASON_XC_ROOT}/toolchain.sh
-
-if [[ $1 == '--prepare' ]]; then
- mkdir -p ~/.android/debugging/{vendor,system}_lib
- adb pull /system/lib ~/.android/debugging/system_lib
- adb pull /vendor/lib ~/.android/debugging/vendor_lib
- adb pull /system/bin/app_process ~/.android/debugging
- adb pull /system/bin/app_process32 ~/.android/debugging
- adb pull /system/bin/linker ~/.android/debugging
-
- if [[ ${MASON_ANDROID_ARCH} == 'arm-v8' || ${MASON_ANDROID_ARCH} == 'x86-64' || ${MASON_ANDROID_ARCH} == 'mips-64' ]]; then
- adb pull /system/bin/app_process64 ~/.android/debugging
- adb pull /system/bin/linker64 ~/.android/debugging
- fi
-
- cp ${MASON_XC_ROOT}/prebuilt/gdbserver/gdbserver \
- platform/android/MapboxGLAndroidSDK/src/main/jniLibs/${ANDROID_ABI}/gdbserver.so
-fi
-
-adb install -r -t -d -g platform/android/MapboxGLAndroidSDKTestApp/build/outputs/apk/MapboxGLAndroidSDKTestApp-debug.apk
-adb shell am start -n "com.mapbox.mapboxsdk.testapp/com.mapbox.mapboxsdk.testapp.activity.FeatureOverviewActivity" \
- -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
-
-adb forward tcp:5039 tcp:5039
-adb shell run-as com.mapbox.mapboxsdk.testapp '/data/data/com.mapbox.mapboxsdk.testapp/lib/gdbserver.so \
- --attach :5039 `pgrep com.mapbox.mapboxsdk.testapp`' &
-
-${MASON_XC_ROOT}/bin/gdb \
- -ex "target remote :5039" \
- -ex "set solib-search-path ~/.android/debugging:~/.android/debugging/system_lib:~/.android/debugging/vendor_lib:~/.android/debugging/vendor_lib/egl:./build/android-${MASON_ANDROID_ARCH}-${MASON_ANDROID_PLATFORM}/Debug/lib.target/"
diff --git a/platform/android/scripts/metrics.sh b/platform/android/scripts/metrics.sh
index 37d8c1de65..974ee5e8db 100755
--- a/platform/android/scripts/metrics.sh
+++ b/platform/android/scripts/metrics.sh
@@ -4,12 +4,12 @@ set -e
set -o pipefail
# Track individual architectures
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/src/main/jniLibs/armeabi/libmapbox-gl.so" "Platform=Android,Arch=arm-v5"
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/src/main/jniLibs/armeabi-v7a/libmapbox-gl.so" "Platform=Android,Arch=arm-v7"
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/src/main/jniLibs/arm64-v8a/libmapbox-gl.so" "Platform=Android,Arch=arm-v8"
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/src/main/jniLibs/x86/libmapbox-gl.so" "Platform=Android,Arch=x86"
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/src/main/jniLibs/x86_64/libmapbox-gl.so" "Platform=Android,Arch=x86_64"
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/src/main/jniLibs/mips/libmapbox-gl.so" "Platform=Android,Arch=mips"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/intermediates/bundles/default/jni/armeabi/libmapbox-gl.so" "Platform=Android,Arch=arm-v5"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/intermediates/bundles/default/jni/armeabi-v7a/libmapbox-gl.so" "Platform=Android,Arch=arm-v7"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/intermediates/bundles/default/jni/arm64-v8a/libmapbox-gl.so" "Platform=Android,Arch=arm-v8"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/intermediates/bundles/default/jni/x86/libmapbox-gl.so" "Platform=Android,Arch=x86"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/intermediates/bundles/default/jni/x86_64/libmapbox-gl.so" "Platform=Android,Arch=x86_64"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/intermediates/bundles/default/jni/mips/libmapbox-gl.so" "Platform=Android,Arch=mips"
# Track overall library size
-scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/outputs/aar/MapboxGLAndroidSDK-release.aar" "Platform=Android,Arch=Archive"
+scripts/log_binary_size.sh "platform/android/MapboxGLAndroidSDK/build/outputs/aar/MapboxGLAndroidSDK-release.aar" "Platform=Android,Arch=Archive"
diff --git a/platform/android/scripts/ndk.sh b/platform/android/scripts/ndk.sh
deleted file mode 100755
index 0a858a6daa..0000000000
--- a/platform/android/scripts/ndk.sh
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-set -u
-
-# This script produces an env.sh file, which contains the paths to CMake, and the flags required to
-# create a build. It first tries to use the Android NDK, but falls back to installing it via Mason.
-
-function error { >&2 echo -e "\033[1m\033[31m$@\033[0m"; }
-function warning { >&2 echo -e "\033[1m\033[33m$@\033[0m"; }
-function status { >&2 echo -e "\033[1m\033[36m$@\033[0m"; }
-function info { >&2 echo -e "\033[1m\033[32m$@\033[0m"; }
-
-if [ "$#" -ne 3 ]; then
- error "Usage: $0 <short arch> <long arch> <api level>"
-fi
-
-NDK_ANDROID_VERSION=$1-$3
-ANDROID_NATIVE_API_LEVEL=$3
-ANDROID_ABI=$2
-
-MASON_NDK_VERSION=r14
-
-function is_supported_ndk_version {
- [ "$1" = "13.1.3345770" ] || [ "$1" = "14.0.3770861" ]
-}
-
-function mason_ndk {
- local CMAKE=${CMAKE:-cmake}
- MASON_XC_ROOT="`${CMAKE} -P cmake/mason.cmake PREFIX android-ndk VERSION ${NDK_ANDROID_VERSION}-${MASON_NDK_VERSION}`"
-
- local TOOLCHAIN="${MASON_XC_ROOT}/toolchain.cmake"
- if [ ! -f "${TOOLCHAIN}" ]; then
- error "Can't find CMake toolchain file at ${TOOLCHAIN}."
- exit 1
- fi
-
- info "Using Mason-provided Android NDK ${MASON_NDK_VERSION} at ${MASON_XC_ROOT}"
- echo CMAKE=\"${CMAKE}\"
- echo CMAKE_GENERATOR=\"Ninja\"
- echo CMAKE_ARGS=\" \
- -DCMAKE_MAKE_PROGRAM=`pwd`/${NINJA} \
- -DMASON_XC_ROOT=${MASON_XC_ROOT} \
- -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} \
- \"
-}
-
-function system_ndk {
- if [[ ${USE_MASON_NDK:-} ]]; then
- return 1
- fi
-
- if [ -f platform/android/local.properties ]; then
- local SDK_DIR=$(sed -n -e 's/^sdk.dir=\(.*\)$/\1/p' platform/android/local.properties)
- fi
-
- if [ ! -d "${SDK_DIR:-}" ]; then
- if [ ! -z "${ANDROID_HOME:-}" ]; then
- local SDK_DIR="${ANDROID_HOME}"
- else
- error "Can't find the Android SDK. Set \$ANDROID_HOME to the SDK path."
- exit 1
- fi
- fi
-
- local NDK_DIR="${ANDROID_NDK_HOME:-${SDK_DIR}/ndk-bundle}"
- if [ ! -d "${NDK_DIR}" ]; then
- warning "Can't find the Android NDK. If it is installed, set \$ANDROID_NDK_HOME to the NDK path."
- return 1
- fi
-
- local SYSTEM_NDK_VERSION=$(sed -n 's/^Pkg.Revision *= *//p' "${NDK_DIR}/source.properties")
- if ! is_supported_ndk_version "${SYSTEM_NDK_VERSION}"; then
- warning "Android NDK version '${SYSTEM_NDK_VERSION}' doesn't match required version."
- return 1
- fi
-
- # Try to install CMake if it's not installed yet.
- mkdir -p "${SDK_DIR}/cmake"
- local CMAKE_VERSION=/$(ls "${SDK_DIR}/cmake" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n 1)
- local CMAKE="${SDK_DIR}/cmake${CMAKE_VERSION:-}/bin/cmake"
- if [ ! -f "${CMAKE}" ]; then
- status "Trying to install CMake..."
- mkdir -p "${SDK_DIR}/licenses"
- echo "8933bad161af4178b1185d1a37fbf41ea5269c55" > "${SDK_DIR}/licenses/android-sdk-license"
- "${SDK_DIR}/tools/bin/sdkmanager" --list | grep cmake | tail -n 1 | cut -d \| -f 1 | xargs "${SDK_DIR}/tools/bin/sdkmanager" >&2
- CMAKE_VERSION=/$(ls "${SDK_DIR}/cmake" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n 1)
- CMAKE="${SDK_DIR}/cmake${CMAKE_VERSION:-}/bin/cmake"
- if [ ! -f "${CMAKE}" ]; then
- error "Can't find CMake at ${CMAKE}."
- return 1
- fi
- fi
-
- local NINJA="${SDK_DIR}/cmake${CMAKE_VERSION:-}/bin/ninja"
- if [ ! -f "${NINJA}" ]; then
- error "Can't find Ninja at ${NINJA}."
- return 1
- fi
-
- local TOOLCHAIN="${NDK_DIR}/build/cmake/android.toolchain.cmake"
- if [ ! -f "${TOOLCHAIN}" ]; then
- error "Can't find CMake toolchain file at ${TOOLCHAIN}."
- return 1
- fi
-
- info "Using system-provided Android NDK ${SYSTEM_NDK_VERSION} at ${NDK_DIR}"
- echo CMAKE=\"${CMAKE}\"
- echo CMAKE_GENERATOR=\"Android Gradle - Ninja\"
- echo CMAKE_ARGS=\" \
- -DANDROID_ABI=${ANDROID_ABI} \
- -DANDROID_NDK=${NDK_DIR} \
- -DCMAKE_MAKE_PROGRAM=${NINJA} \
- -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} \
- -DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} \
- -DANDROID_TOOLCHAIN=clang \
- -DANDROID_STL=c++_static \
- -DANDROID_CPP_FEATURES=rtti\;exceptions \
- \"
-}
-
-system_ndk || mason_ndk