Googletest для Android NDK
Я проверил предыдущий ответ о unit test для Android, где предлагается Googletest как хороший вариант. Тем не менее, я ознакомился с платформой тестирования Google С++ - Googletest. Что касается платформ, я не вижу ничего упоминания о поддержке Android. Может кто-нибудь сказать что-нибудь, если есть способ использовать его с Android-устройствами - например. шаги по созданию инструментальной цепочки и т.д.
Ответы
Ответ 1
Вам нужно построить Googletest для Android, чтобы иметь возможность запускать его с помощью вашей инструментальной цепочки, когда вы работаете с кросс-компиляцией.
Загрузить исходный код 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 script
$ cd googletest/ $ ndk-build
Вы можете найти libgtest.a в googletest/obj/local/armeabi/libgtest.a
Источник: sfuku7/googletest_android_ndk-build - github
Ответ 2
GoogleTest теперь распространяется с NDK (главным образом потому, что он используется самим тестовым набором NDK).
Он очень прост в использовании в ваших собственных проектах, см. примеры $NDK/sources/third_party/googletest/README.NDK для использования.
Ответ 3
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)
Ответ 4
Этот gradle плагин https://github.com/fsbarata/ndktest-plugin поможет вам получить работу Googletest. Однако стоит взглянуть на структуру Googletest.