CARTO Mobile SDK core project
Fetching latest commit…
Cannot retrieve the latest commit at this time.


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.

Current build status

Platforms Status
Android, iOS Build Status


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?