Using native ROS code on Android

This tutorial covers how to cross-compile ROS packages using the Android NDK, and running them on Android as a native activity, as a normal app using the Java Native Interface and rosjava or as native executable. In order to isolate the cross-compilation process, we do it inside a Docker container.

To date, we have cross-compiled the ROS packages that are included in ndk.rosinstall.


  1. Building native ROS packages

    This tutorial show how to build native ROS nodes using the Android NDK

  2. Building Sample Application using Binary Distribution

    This tutorial presents an example Android application which uses the binary distribution of the cross compiled ROS libraries for Android. It is based on the ANT build system and is intended to serve a starting point for a custom application.

  3. Simple Native Activity Application

    This tutorial shows how to create a sample Android native application running ROS native nodes, and run it on an Android device

  4. move_base Native Activity Application

    This tutorial presents an example Android application to show the use of a cross compiled move_base library using an Android Native Activity.

  5. How to cross-compile any other ROS package for Android

    A tutorial on how to cross-compile your favorite ROS package for Android.

  6. Wrapping your native code as a rosjava node

    Steps to create a rosjava android project and add your native compiled nodes as rosjava nodes.

  7. Using Pluginlib

    How to use Pluginlib inside the Android native framework.

Wiki: android_ndk (last edited 2016-01-24 15:15:47 by jcerruti)