Scene Lab
An open source project by FPL.
 All Classes Namespaces Files Functions Pages
Building for Android

Scene Lab on Android

Scene Lab itself does not yet run on Android devices since it only supports mouse and keyboard as input. However, you can build a sample project that runs on Android and shows the environment you have built using Scene Lab on the desktop.

Prerequisites

Set up your build environment for Android builds by following these steps.

  1. Install Java 1.7, required to use Android tools.
    • Windows / OSX: Download the Java 1.7 installer and run it to install.
    • Linux: on systems that support apt-get...
      sudo apt-get install openjdk-7-jdk
  2. Install the Android SDK, required to build Android applications.
    Android Studio is the easiest way to install and configure the latest Android SDK. Or you can install the stand-alone SDK tools.
  3. Install the Android NDK, required to develop Android native (C/C++) applications.
    • Download and unpack the latest version of the Android NDK to a directory on your machine.
      • Tested using android-ndk-r10e.
  4. Add the Android SDK's sdk/tools directory and the Android NDK directory to the PATH variable.
    • Windows: Start -> Control Panel -> System and Security -> System -> Advanced system settings -> Environment Variables, then select PATH and press Edit. Add paths similar to the following, adjusted for your install locations: c:\Users\me\AppData\Local\Android\sdk\tools;c:\Users\me\android-ndk
    • Linux: if the Android SDK is installed in /home/androiddev/adt and the Android NDK is installed in /home/androiddev/ndk the following line should be added to ~/.bashrc.
      export PATH="$PATH:/home/androiddev/adt/sdk/tools:/home/androiddev/ndk"
    • OS X: if the Android SDK is installed in ~/Library/Android/ and the Android NDK is installed in ~/bin/android_ndk-r10e the following line should be added to ~/.bash_profile.
      export PATH=$PATH:~/bin/android_ndk-r10d:~/Library/Android/sdk/tools
  5. On Linux, ensure Java 1.7 is selected, in the event multiple Java versions are installed on the system.
    • on Ubunutu, run update-java-alternatives to select the correct Java version.
  6. On Windows, set the JAVA_HOME variable to the Java install location

Additionally, if you'd like to use the handy tools in fplutil,

  • Apache Ant, required to build Android applications with fplutil.
    • Windows / OS X: Download the latest version of Apache Ant and unpack it to a directory.
    • Linux: on systems that support apt-get...
      sudo apt-get install ant
    • Add the Apache Ant install directory to the PATH variable.
  • Python 2.7, required to use fplutil tools.
    • Windows / OS X: Download the latest package from the Python 2.7 page and run the installer.
    • Linux: on a systems that support apt-get...
      sudo apt-get install python

Code Generation

By default, code is generated for devices that support the armeabi-v7a, x86, or armeabi ABIs. Alternatively, you can generate a fat .apk that includes code for all ABIs. To do so, override APP_ABI on ndk-build's command line.

Using ndk-build:

cd scene_lab/sample
ndk-build APP_ABI=all

Using fplutil:

cd scene_lab/sample
../dependencies/fplutil/bin/build_all_android.py -f APP_ABI=all -e dependencies

Troubleshooting

If the NDK has trouble locating the scene_lab module while building for Android, ensure your top-level Scene Lab directory is named "scene_lab". This is due to a limitation in how the NDK module directory detection works. For example, on Windows, your project could be located at:

c:\myprojects\android\scene_lab

And thus the sample (and the directory you would ndk-build from) would be located in:

c:\myprojects\android\scene_lab\sample