Skip to content
CARTO Mobile SDK core project
Branch: master
Clone or download
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
docs Fix type of img file in guide Mar 11, 2019
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
.travis.yml Temporarily disable Android build on Travis (Travis is currently very… Nov 24, 2016
LICENSE Yet another try Mar 16, 2019


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.


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.


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 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
./b2 headers
cd ../..

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

cd mobile-sdk/scripts

Android build

python --profile standard
python --profile standard

iOS build:

python --profile standard
python --profile standard

Xamarin Android build:

python --profile standard android
python --profile standard android

Xamarin iOS build:

python --profile standard ios
python --profile standard ios

Windows Phone build

python --profile standard winphone
python --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 --profile gisextensions
python --profile gisextensions --android-abi=armeabi-v7a --android-abi=arm64-v8a --android-abi=x86

Note: you need to copy files from the GDAL_precompiled folder


Support, Questions?

You can’t perform that action at this time.