I checked a previous answer about unit test for Android, where it is suggested Googletest as a good option. However, I got a look into the Google C++ Testing Framework – Googletest. About platforms, I don’t see anything mentioning support to Android. Could someone tell anything, if there is some way of using it with Android devices – e.g. steps to build a toolchain, etc?
You need to built Googletest for Android to be able to run it with your toolchain, as you working with cross-compilation.
Download source code of googletest
$ mkdir googletest $ cd googletest $ svn checkout http://googletest.googlecode.com/svn/trunk/ .
Copy jni directory to googletest directory
$ cd /path/to/this/git $ cp -r jni googletest/
run ndk-build script
$ cd googletest/ $ ndk-build
You can find libgtest.a in googletest/obj/local/armeabi/libgtest.a
GoogleTest is now distributed with the NDK (mainly because it’s used by the NDK test suite itself).
It’s very easy to use in your own projects, see $NDK/sources/third_party/googletest/README.NDK for usage examples.
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo LOCAL_SRC_FILES := foo.cpp include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := foo_unittest LOCAL_SRC_FILES := foo_unittest.cpp LOCAL_SHARED_LIBRARIES := foo LOCAL_STATIC_LIBRARIES := googletest_main include $(BUILD_EXECUTABLE) $(call import-module,third_party/googletest)
This gradle plugin https://github.com/fsbarata/ndktest-plugin will help you get the Googletest working. Still worth to look at the Googletest framework though.