Skip to content
CARTO Mobile SDK core project
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
all Handle empty vector tiles as a general case, render them with backgro… Mar 11, 2019
android Fixes Sep 6, 2018
assets
docs Fix type of img file in guide Mar 11, 2019
dotnet/csharp/UI
ios Add missing header to iOS umbrella header Mar 11, 2019
libs-carto @ 00a042d
libs-external @ 9303822 Latest libs-external Feb 13, 2019
scripts SGRE routing engine, draft Jan 2, 2019
winphone
.gitignore
.gitmodules
.travis.yml Temporarily disable Android build on Travis (Travis is currently very… Nov 24, 2016
CONTRIBUTING.md
LICENSE
NEWS.md
README.md Yet another try Mar 16, 2019
known issues.md

README.md

CARTO Mobile SDK

CARTO Mobile SDK is a multi-platform mobile mapping SDK written mostly in C++11 with bindings to numerous languages (Java/C# for Android, ObjectiveC/C# for iOS and C# for Windows Phone).

This project contains the core part of the SDK, for samples, look at the 'Usage' section.

Building

We strongly suggest to use the precompiled SDK versions that can be found in the samples below (in 'Usage' section). The precompiled libraries include support for CARTO online services (basemaps, offline map packages, routing, etc). Also, getting all the SDK dependencies resolved and waiting for the build to complete can be very time-consuming.

Dependencies

Use git submodule to resolve all source-level dependencies

git submodule update --init --remote --recursive

Special swig version (swig-2.0.11-nutiteq branch) is needed for generating language-specific wrappers, this can be downloaded from https://github.com/CartoDB/swig. Clone it and compile it using usual ./configure;make routine. Make sure build script refers to this one.

Python 2.7.x is used for build scripts

Android build requires Android SDK and Android NDK r11 or later. Note that newer versions than Android NDK r14b deprecate/remove support for GCC and are not recommended.

iOS build requires XCode 7.3 or later.

Windows Phone build requires Visual Studio 2017.

Building process

Be patient - full build will take 1+ hours. You can speed it up by limiting architectures and platforms where it is built.

Set up boost library:

cd libs-external/boost
./bootstrap.sh
./b2 headers
cd ../..

Go to 'scripts' library where the actual build scripts are located:

cd mobile-sdk/scripts

Android build

python swigpp-java.py --profile standard
python build-android.py --profile standard

iOS build:

python swigpp-objc.py --profile standard
python build-ios.py --profile standard

Xamarin Android build:

python swigpp-csharp.py --profile standard android
python build-xamarin.py --profile standard android

Xamarin iOS build:

python swigpp-csharp.py --profile standard ios
python build-xamarin.py --profile standard ios

Windows Phone build

python swigpp-csharp.py --profile standard winphone
python build-winphone.py --profile standard

GDAL build for Android

Use precompiled GDAL library containing headers and .so files. Make symbolic links from GDAL_precompiled/android to prebuilt/gdal and GDAL_precompiled/android to libs-external/gdal.

python swigpp-java.py --profile gisextensions
python build-android.py --profile gisextensions --android-abi=armeabi-v7a --android-abi=arm64-v8a --android-abi=x86

Note: you need to copy libgdal.so files from the GDAL_precompiled folder

Usage

Support, Questions?

You can’t perform that action at this time.