Mapbox GL Native SDK Open-Source Fork
For iOS and Android
MapLibre GL Native is a community led fork derived from mapbox-gl-native prior to their switch to a non-OSS license. The fork also includes Maps SDK for iOS and MacOS (forked from mapbox-gl-native-ios) and Android SDK (forked from mapbox-gl-native-android). These platform-specific SDKs were merged under platform directory and they reference mapbox-gl-native directly, not as a submodule.
Beside merging in platform specific SDKs, the following changes were made compared to original mapbox projects:
- The code was upgraded so that it can be built using latest clang compiler / Xcode 12.
- CI/CD was migrated from CircleCI to GitHub Actions.
- Along with GitHub releases, binaries are distributed as follows:
- The iOS binaries distribution was upgraded from fat packages to Swift package containing XCFramework.
- The Android binaries are distributed to GitHub maven package repository.
The mapbox-gl-native was forked from d60fd30 - mgbl 1.6.0, mapbox-gl-native-ios from a139216 and mapbox-gl-native-android from 4c12fb2
Build Status
SDK | Build | Build status |
---|---|---|
Mapbox Maps SDK for iOS | CI | |
Mapbox Maps SDK for iOS | Release | |
Mapbox Maps SDK for Android | CI | |
Mapbox Maps SDK for Android | Release |
Installation
Android
-
Add bintray maven repositories to your build.gradle at project level so that you can access MapLibre packages for Android:
allprojects { repositories { ... maven { url = "https://dl.bintray.com/maplibre/maplibre-gl-native" } } }
-
Add the library as a dependency into your module build.gradle
dependencies { ... implementation 'org.maplibre.gl:android-sdk:9.2.1' ... }
-
Sync gradle and rebuild your app
iOS
-
To add a package dependency to your Xcode project, select File > Swift Packages > Add Package Dependency and enter its repository URL. You can also navigate to your target’s General pane, and in the “Frameworks, Libraries, and Embedded Content” section, click the + button, select Add Other, and choose Add Package Dependency.
-
Either add MapLibre GitHub distribution URL (https://github.com/maplibre/maplibre-gl-native-distribution) or search for
maplibre-gl-native
package. -
Choose "next". Xcode should clone the distribution repository and download the binaries.
Alternative installation
You can also download pre-build from releases in this repository.
How to create your own build
Source code checkout
git clone --recurse-submodules https://github.com/maplibre/maplibre-gl-native.git
Build
Android
Make sure you have set Android SDK path in platform/android/local.properties, variable sdk.dir
cd platform/android
BUILDTYPE=Release make apackage
Binaries are produced in platform/android/MapboxGLAndroidSDK/build/outputs/aar/MapboxGLAndroidSDK-release.aar
Please refer to Mapbox Maps SDK for Android for detailed instructions.
iOS
cd platform/ios
make xcframework BUILDTYPE=Release
The packaging script will produce a platform/ios/build/ios/pkg/dynamic
Please refer to Mapbox Maps SDK for iOS for detailed instructions.
MacOS
cd platform/ios
make xpackage
This produces a Mapbox.framework
in the platform/ios/build/macos/pkg/
folder.
Please refer to Mapbox Maps SDK for macos for detailed instructions.