diff options
author | Leith Bade <leith@mapbox.com> | 2015-09-18 09:43:15 +1000 |
---|---|---|
committer | Leith Bade <leith@mapbox.com> | 2015-09-23 11:19:58 +1000 |
commit | db6a08d8caef8818032a89725340419f258d09ea (patch) | |
tree | 21ce76728a8ead90290c898bccfb639b01227ca6 | |
parent | d89aa51e0f59b2465dbbe5e56dd7c59ed88b2e86 (diff) | |
download | qtlocation-mapboxgl-db6a08d8caef8818032a89725340419f258d09ea.tar.gz |
Add Crashlytics NDK to Android
Closes #2107
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | android/java/.gitignore | 6 | ||||
-rw-r--r-- | android/java/MapboxGLAndroidSDKTestApp/build.gradle | 18 | ||||
-rw-r--r-- | android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java | 3 | ||||
-rw-r--r-- | android/mapboxgl-app.gypi | 8 | ||||
-rwxr-xr-x | scripts/android/run.sh | 24 |
6 files changed, 48 insertions, 13 deletions
@@ -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 |