Googletest for Android NDK

我检查了一个关于Android的unit testing的回答,在那里build议Googletest作为一个好的select 。 但是,我看了一下Google C ++testing框架 – Googletest 。 关于平台,我没有看到任何提及对Android的支持。 有人可以告诉任何事情,如果有一些使用Android设备的方式 – 例如构build工具链的步骤等?

您需要构build适用于Android的Googletest,以便在交叉编译时使用您的工具链运行它。

下载googletest的源代码

 $ mkdir googletest $ cd googletest $ svn checkout http://googletest.googlecode.com/svn/trunk/ . 

将jni目录复制到googletest目录

 $ cd /path/to/this/git $ cp -r jni googletest/ 

运行ndk-build脚本

 $ cd googletest/ $ ndk-build 

您可以在googletest / obj / local / armeabi / libgtest.a中findlibgtest.a

资料来源: sfuku7 / googletest_android_ndk-build – github

GoogleTest现在与NDK一起分发(主要是因为它被NDKtesting套件本身所使用)。

在您自己的项目中使用非常简单,请参阅$ NDK / sources / third_party / googletest / README.NDK以获取使用示例。

JNI / Android.mk:

  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) 

这个gradle插件https://github.com/fsbarata/ndktest-plugin将帮助你获得Googletest的工作。 尽pipe如此,仍然值得看看Googletest框架。