summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeith Bade <leith@mapbox.com>2015-09-18 09:43:15 +1000
committerLeith Bade <leith@mapbox.com>2015-09-23 11:19:58 +1000
commitdb6a08d8caef8818032a89725340419f258d09ea (patch)
tree21ce76728a8ead90290c898bccfb639b01227ca6
parentd89aa51e0f59b2465dbbe5e56dd7c59ed88b2e86 (diff)
downloadqtlocation-mapboxgl-db6a08d8caef8818032a89725340419f258d09ea.tar.gz
Add Crashlytics NDK to Android
Closes #2107
-rw-r--r--Makefile2
-rw-r--r--android/java/.gitignore6
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/build.gradle18
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java3
-rw-r--r--android/mapboxgl-app.gypi8
-rwxr-xr-xscripts/android/run.sh24
6 files changed, 48 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 1a75c9759d..c7099ce03c 100644
--- a/Makefile
+++ b/Makefile
@@ -131,7 +131,7 @@ clean: clear_sqlite_cache clear_xcode_cache
-rm -rf ./test/build
-rm -rf ./config/*.gypi
-rm -rf ./android/java/build ./android/java/MapboxGLAndroidSDK/build ./android/java/MapboxGLAndroidSDKTestApp/build
- -rm -rf ./android/java/MapboxGLAndroidSDK/src/main/jniLibs ./android/java/MapboxGLAndroidSDK/src/main/assets
+ -rm -rf ./android/java/MapboxGLAndroidSDK/src/main/libs ./android/java/MapboxGLAndroidSDK/src/main/obj.target ./android/java/MapboxGLAndroidSDK/src/main/assets
-rm -f ./android/test/features.zip
distclean: clean
diff --git a/android/java/.gitignore b/android/java/.gitignore
index 8664418107..a79fb8fae5 100644
--- a/android/java/.gitignore
+++ b/android/java/.gitignore
@@ -10,6 +10,12 @@ build/
*.so
*.apk
+# JNI
+MapboxGLAndroidSDK/src/main/libs/
+MapboxGLAndroidSDK/src/main/jniLibs/
+MapboxGLAndroidSDK/src/main/obj/
+MapboxGLAndroidSDK/src/main/obj.target/
+
# Lib assets
MapboxGLAndroidSDK/src/main/assets/
diff --git a/android/java/MapboxGLAndroidSDKTestApp/build.gradle b/android/java/MapboxGLAndroidSDKTestApp/build.gradle
index 98c26912ff..f71d821c2c 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/build.gradle
+++ b/android/java/MapboxGLAndroidSDKTestApp/build.gradle
@@ -80,6 +80,21 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
+
+ splits {
+ abi {
+ enable true
+ reset()
+ include 'armeabi', 'armeabi-v7a', 'x86', 'mips'
+ universalApk true
+ }
+ }
+}
+
+crashlytics {
+ enableNdk true
+ androidNdkOut '../MapboxGLAndroidSDK/src/main/obj.target'
+ androidNdkLibsOut '../MapboxGLAndroidSDK/src/main/obj.target'
}
dependencies {
@@ -93,6 +108,9 @@ dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.5.1@aar') {
transitive = true;
}
+ compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.1@aar') {
+ transitive = true;
+ }
// Testing dependencies
testCompile 'junit:junit:4.12'
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
index 2f9b374e24..3f14ab557c 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
@@ -25,6 +25,7 @@ import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
+import com.crashlytics.android.ndk.CrashlyticsNdk;
import com.mapbox.mapboxgl.annotations.Marker;
import com.mapbox.mapboxgl.annotations.MarkerOptions;
import com.mapbox.mapboxgl.annotations.PolygonOptions;
@@ -78,7 +79,7 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- Fabric.with(this, new Crashlytics());
+ Fabric.with(this, new Crashlytics(), new CrashlyticsNdk());
// Load the layout
setContentView(R.layout.activity_main);
diff --git a/android/mapboxgl-app.gypi b/android/mapboxgl-app.gypi
index e3db1269d6..5731d21f85 100644
--- a/android/mapboxgl-app.gypi
+++ b/android/mapboxgl-app.gypi
@@ -74,13 +74,19 @@
],
'destination': '<(pwd)/../android/java/MapboxGLAndroidSDK/src/main/assets'
},
+ {
+ 'files': [
+ '<(PRODUCT_DIR)/obj.target'
+ ],
+ 'destination': '<(pwd)/../android/java/MapboxGLAndroidSDK/src/main'
+ },
],
'actions': [
{
'action_name': 'Strip dynamic library',
'inputs': [ '<(PRODUCT_DIR)/lib.target/libmapbox-gl.so' ],
- 'outputs': [ '<(pwd)/../android/java/MapboxGLAndroidSDK/src/main/jniLibs/$(JNIDIR)/libmapbox-gl.so' ],
+ 'outputs': [ '<(pwd)/../android/java/MapboxGLAndroidSDK/src/main/libs/$(JNIDIR)/libmapbox-gl.so' ],
'action': [ '$(STRIP)', '<@(_inputs)', '-o', '<@(_outputs)' ]
},
],
diff --git a/scripts/android/run.sh b/scripts/android/run.sh
index 2ef0c40c99..73ffc4c5ce 100755
--- a/scripts/android/run.sh
+++ b/scripts/android/run.sh
@@ -39,16 +39,20 @@ if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then
S3_PREFIX=s3://mapbox/mapbox-gl-native/android/build/${TRAVIS_JOB_NUMBER}
APK_OUTPUTS=./android/java/MapboxGLAndroidSDKTestApp/build/outputs/apk
-
- # Upload either the debug or the release build
- if [ ${BUILDTYPE} == "Debug" ] ; then
- aws s3 cp \
- ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-debug.apk \
- ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-debug.apk
- elif [ ${BUILDTYPE} == "Release" ] ; then
- aws s3 cp \
- ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-release-unsigned.apk \
- ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-release-unsigned.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