diff options
Diffstat (limited to 'platform/android/scripts')
-rw-r--r-- | platform/android/scripts/configure.sh | 11 | ||||
-rwxr-xr-x | platform/android/scripts/debug.sh | 46 | ||||
-rw-r--r-- | platform/android/scripts/defaults.mk | 10 | ||||
-rwxr-xr-x | platform/android/scripts/install.sh | 13 | ||||
-rwxr-xr-x | platform/android/scripts/run.sh | 56 | ||||
-rwxr-xr-x | platform/android/scripts/toolchain.sh | 2 |
6 files changed, 54 insertions, 84 deletions
diff --git a/platform/android/scripts/configure.sh b/platform/android/scripts/configure.sh index 81bdf19e98..2bbc134597 100644 --- a/platform/android/scripts/configure.sh +++ b/platform/android/scripts/configure.sh @@ -1,16 +1,19 @@ #!/usr/bin/env bash -BOOST_VERSION=1.59.0 +UNIQUE_RESOURCE_VERSION=dev +PROTOZERO_VERSION=1.3.0 +BOOST_VERSION=1.60.0 LIBPNG_VERSION=1.6.20 LIBJPEG_TURBO_VERSION=1.4.2 SQLITE_VERSION=3.9.1 -LIBUV_VERSION=1.7.5 ZLIB_VERSION=system NUNICODE_VERSION=1.6 LIBZIP_VERSION=0.11.2 -GEOJSONVT_VERSION=3.1.0 -VARIANT_VERSION=1.0 +GEOMETRY_VERSION=0.5.0 +GEOJSONVT_VERSION=4.1.2 +VARIANT_VERSION=1.1.0 RAPIDJSON_VERSION=1.0.2 JNI_HPP_VERSION=2.0.0 +EARCUT_VERSION=0.11 export MASON_ANDROID_ABI=${MASON_PLATFORM_VERSION} diff --git a/platform/android/scripts/debug.sh b/platform/android/scripts/debug.sh new file mode 100755 index 0000000000..ade9ab2d6f --- /dev/null +++ b/platform/android/scripts/debug.sh @@ -0,0 +1,46 @@ +#!/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_DIR="`pwd`/.mason" +export PATH="${MASON_DIR}:${PATH}" + +export MASON_ANDROID_ABI=x86 +export MASON_ANDROID_ARCH=x86 +export MASON_ANDROID_PLATFORM=9 +export MASON_NDK_PACKAGE_VERSION=${MASON_ANDROID_ARCH}-${MASON_ANDROID_PLATFORM}-r10e + +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_ABI} == 'x86_64' || ${MASON_ANDROID_ABI} == 'mips64' ]]; then + adb pull /system/bin/app_process64 ~/.android/debugging + adb pull /system/bin/linker64 ~/.android/debugging + fi + + cp `mason prefix android-ndk ${MASON_NDK_PACKAGE_VERSION}`/prebuilt/android-${MASON_ANDROID_ABI}/gdbserver/gdbserver \ + platform/android/MapboxGLAndroidSDK/src/main/jniLibs/${MASON_ANDROID_ABI}/gdbserver.so +fi + +adb install -rtdg 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`' & + +export MASON_PLATFORM=android +export PATH=`mason env PATH` +`mason env MASON_ANDROID_TOOLCHAIN`-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_ABI}/Debug/lib.target/" + diff --git a/platform/android/scripts/defaults.mk b/platform/android/scripts/defaults.mk deleted file mode 100644 index 5f049aae48..0000000000 --- a/platform/android/scripts/defaults.mk +++ /dev/null @@ -1,10 +0,0 @@ -HEADLESS ?= none -PLATFORM ?= android -ASSET ?= zip -HTTP ?= android - -GYP_FLAVOR_SUFFIX=-android - -HOST_VERSION ?= arm-v7 - -ENV = $(shell MASON_ANDROID_ABI=$(HOST_VERSION) ./platform/android/scripts/toolchain.sh) diff --git a/platform/android/scripts/install.sh b/platform/android/scripts/install.sh deleted file mode 100755 index e99c3dc75e..0000000000 --- a/platform/android/scripts/install.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -set -e -set -o pipefail - -mapbox_time "checkout_mason" \ -git submodule update --init .mason - -export MASON_PLATFORM=android -export MASON_ANDROID_ABI=${ANDROID_ABI} - -mapbox_time "android_toolchain" \ -./platform/android/scripts/toolchain.sh diff --git a/platform/android/scripts/run.sh b/platform/android/scripts/run.sh deleted file mode 100755 index 9e87298fe9..0000000000 --- a/platform/android/scripts/run.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash - -set -e -set -o pipefail - -# Add Mason to PATH -export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason" -export MASON_PLATFORM=android -export MASON_ANDROID_ABI=${ANDROID_ABI} - -################################################################################ -# Build -################################################################################ - -mkdir -p ./platform/android/MapboxGLAndroidSDKTestApp/src/main/res/raw -echo "${MAPBOX_ACCESS_TOKEN}" > ./platform/android/MapboxGLAndroidSDKTestApp/src/main/res/raw/token.txt - -mapbox_time "compile_library" \ -make android-lib HOST_VERSION=${ANDROID_ABI} -j${JOBS} BUILDTYPE=${BUILDTYPE} - -mapbox_time "build_apk" \ -make android HOST_VERSION=${ANDROID_ABI} -j${JOBS} BUILDTYPE=${BUILDTYPE} - -################################################################################ -# Deploy -################################################################################ - -if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then - # Install and add awscli to PATH for uploading the results - mapbox_time "install_awscli" \ - pip install --user awscli - export PATH="`python -m site --user-base`/bin:${PATH}" - - mapbox_time_start "deploy_results" - echo "Deploying results..." - - S3_PREFIX=s3://mapbox/mapbox-gl-native/android/build/${TRAVIS_JOB_NUMBER} - APK_OUTPUTS=./platform/android/MapboxGLAndroidSDKTestApp/build/outputs/apk - JNILIB=`mason env JNIDIR` - - # ARM64 does not build APK for now - if [ ${JNIDIR} != "arm64-v8a" ] ; then - # Upload either the debug or the release build - if [ ${BUILDTYPE} == "Debug" ] ; then - aws s3 cp \ - ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-${JNILIB}-debug.apk \ - ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-debug.apk - elif [ ${BUILDTYPE} == "Release" ] ; then - aws s3 cp \ - ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-${JNILIB}-release-unsigned.apk \ - ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-release-unsigned.apk - fi - fi - - mapbox_time_finish -fi diff --git a/platform/android/scripts/toolchain.sh b/platform/android/scripts/toolchain.sh index 67cd0aa476..6eb6a229fe 100755 --- a/platform/android/scripts/toolchain.sh +++ b/platform/android/scripts/toolchain.sh @@ -4,7 +4,7 @@ set -e set -o pipefail export MASON_PLATFORM=android -export MASON_ANDROID_ABI=${MASON_ANDROID_ABI:-arm-v7} +export MASON_ANDROID_ABI=${1:-arm-v7} export PATH="`pwd`/.mason:${PATH}" export MASON_DIR="`pwd`/.mason" |