Skip to content

Automated Android NDK build for realXtend Tundra and its dependencies

Notifications You must be signed in to change notification settings

Adminotech/tundra-android

Repository files navigation

Tundra on Android

This repository aims to provide automated scripts to build Tundra and its dependencies for Android with the NDK.

I'm open for pull requests. Send them up my way!

What you need to get started

The following are the tools that have been tested/used while developing the scripts. The build OS used is ubuntu 12.04 desktop i386. At this moment I cannot give guarantees for other systems outside of this.

# Ubuntu users can run the following for everything except Android tools
sudo apt-get install cmake cmake-data git subversion mercurial curl wget g++ p7zip-full

What you will get

  • Boost 1.49.0
  • Bzip2 1.0.6 (for boost)
  • Ogre 1.8.0 unstable
  • Bullet 2.78
  • kNet stable branch
  • Necessitas Qt 4.8.0
  • Tundra
  • Tundra for Android apk package

As a bonus you get a prepared standalone NDK toolchain for your target arch (default armv7a) and CMake NDK toolchain script that can be used to easily build cmake based c/c++ projects.

Note: Necessitas Qt does not build properly with the r8 or r7 NDK. Necessitas provided r6b is used instead. It is an open issue if this will affect the packaged Tundra app. We will cross that bridge when we get there.

Note: Currently prebuilt ogre deps are used from wolfmanfx. This will change in the future.

Usage

cd tundra-android
./build-all.sh OPTIONS

Options:
  -n,  --ndk path      Android NDK root path
  -s,  --sdk path      Android SDK root path

  -od, --only-deps     Only build dependencies
  -ot, --only-tundra   Only build Tundra
  -oa, --only-android  Only build/package/install Tundra for Android 

  -sd, --skip-deps     Skip Tundra dependencies
  -st, --skip-tundra   Skip Tundra
  -sa, --skip-android  Skip Tundra for Android build/package/install

  -h, --help           Print this help

  Note: Params cannot be combined (eg. -odhsa).
  
Environment variables:
  ANDROID_NDK_ROOT     Read as --ndk if the option is not passed
  ANDROID_SDK_ROOT     Read as --sdk if the option is not passed

  These are optional. Saves you typing of --sdk and --ndk for every run.

Sit back and enjoy, this will take a while. When you are done install folder has the deps and tundra build results. build-android/bin and build-android/libs will have the Android build results.

Note: Do not run any of the other build-*.sh scripts directly, they wont work like that. The main script will call all of them in the correct order. The individual scripts have checks so that nothing is downloaded/cloned/built/installed unnessesarily multiple times. Only tundras make will be ran every time. The script will give info what files you need to remove to trigger rebuilds.

Implementation Details

The scripts use various techniques I've picked up from looking at other repos around and combined them here. Special thanks to the folks maintainig these projects!

About

Automated Android NDK build for realXtend Tundra and its dependencies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published