summaryrefslogtreecommitdiff
path: root/platform/android/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/scripts')
-rw-r--r--platform/android/scripts/configure.sh11
-rwxr-xr-xplatform/android/scripts/debug.sh46
-rw-r--r--platform/android/scripts/defaults.mk10
-rwxr-xr-xplatform/android/scripts/install.sh13
-rwxr-xr-xplatform/android/scripts/run.sh56
-rwxr-xr-xplatform/android/scripts/toolchain.sh2
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"