Files
MapLibreParticleLab/platform/android
Ivo van Dongen 9a3eadfd5b [android] #5610 - Initial Runtime Style Bindings
[android] #5610 - Adjusted public api after discussion

[android] #5610 - added jni binding for NativeMapView#getLayer

[android] #5610 - Added initial test Activity

[android] #5610 - Started on NativePeer implementation for Layer

[android] #5610 - replaced low-level jni code with high-level for native getLayer

[android] 5610 - completed basic layer peer class - constructible from java and c++

[android] #5610 - removed reference that was redundant and causing the finalizer exception

[android] #5610 - Added a property peer

[android] #5610 - added value type to do type conversions - wip

[android] #5610 - simplified property conversion approach - wrapped value with jenv

[android] #5610 - added some more value conversions

[android] #5610 - Finished conversion for basic types

[android] #5610 - allow color's to be set as either an android color int or a String to support all formats in the spec

[android] #5610 - encode color ints as rgba to retain alpha channel

[android] #5610 - recalculate classes after paint property

[android] #5610 - more examples

[android] #5610 - fixed the example

[android] #5610 - cleaned up example code before continueing

[android] #5610 - added layout property example

[android] #5610 - set visibility on layer

[android] #5610 - added removeLayer and example

[android] #5610 - added more type conversions

[android] #5610 - Started on peer classes for layer implementations - WIP

[android] #5610 - First complete layer subclass peer implementation

[android] #5610 - added a little bit of structure before adding the other layer types

[android] #5610 - generate the c++ headers from the style spec

[android] #5610 - make sure the visibility is set as a string

[android] #5610 - Generate c++ layer peer class implementations from the style spec

[android] #5610 - generate java layer peer classes

[android] #5610 - cleanup comments

[android] #5610 - register all c++ peer classes with jni

[android] #5610 - addLayer

[android] #5610 - comment out broken case

[android] #5610 - Sources api - very much WIP

[android] 5610 - GeoJson source implementation and geojson conversion

[android] #5610 - cleanup add source/layer example a bit

[android] #5610 - initial filter api

[android] #5610 - Added filter api on the relevant Layer classes

[android] #5610 - raster layer is not filterable

[android] #5610 - actually make it compile

[android] #5610 - completed filter implementation

[android] #5610 - Vector and Raster Source + examples

[android] #5610 - removed superfluous interface, moved filters to the correct package

[android] #5610 - fixed comments

[android] #5610 - moved tests to the right package

[android] #5610 - hide difference between paint and layout properties in public api, make more performant set method for proeprties

[android] #5610 - fix rebase issue
2016-07-26 16:29:26 -04:00
..

Mapbox Android SDK

Bitrise

A library based on Mapbox GL Native for embedding interactive map views with scalable, customizable vector maps into Java applications on Android devices.

To install and use the Mapbox Android SDK in an application, see the Mapbox Android SDK website.

Contributing to the SDK

These instructions are for developers interested in making code-level contributions to the SDK itself. If you instead want to use the SDK in your app, see above.

Building the SDK yourself requires a number of dependencies and steps that are unnecessary for developing production applications.

Setting up the Android emulator

The Mapbox Android SDK requires Android 4.0.3+ (API level 15+).

If you want to run the test app in the emulator, we recommend the x86 build because it will run a lot faster.

First ensure you have an MAPBOX_ACCESS_TOKEN environment variable set, as described below. Then, create an x86 build:

make android-lib-x86

In Android Studio, create an x86 AVD (Android Virtual Device):

  • Open AVD Manager via the Tools menu -> Android -> AVD Manager
  • Click "Create Virtual Device" at the bottom on AVD Manager window
  • Select one of the device profiles, for example the Nexus 4
  • Click "Next"
  • Select a Lollipop or Kitkat release with ABI of x86. If the line is greyed out click Download to download the OS files.
  • Click "Next"
  • Under "Emulated Performance" check "Host GPU" and uncheck "Store a snapshot for faster startup"
  • Click "Finish"
  • Close the AVD Manager

Now when you run or debug the Android project you will see a window "Choose Device". Select your new AVD from drop down under "Launch emulator". If you select "Use same device for future launches" Android Studio will remember the selection and not ask again.

Running Mapbox GL Native on a hardware Android device

The Mapbox Android SDK requires Android 4.0.3+ (API level 15+).

First read the Google documentation to set up your device and your OS to connect to the device.

When you plug your device in and then run or debug the Android project you will see a window "Choose Device". Choose your device from the "Choose a running device" list.

If your device does not show up, double check the Google documentation.