前言,Android的NDK编译原理,其实就是使用clang执行的C++编译。
下面是在AndroidStudio工程中如何添加gtest单元测试和使用lcov工具以及生成覆盖率报告
1. 编译AOSP/LINUX/android/external/googletest。确保通过
2. 在各自工程目录下创建test目录
3. test目录下创建Android.mk 和 Application.mk文件
## [Android.mk] 结构如下:
#####################################
LOCAL_PATH := $(call my-dir)
PRJ_INC_PATH += $(LOCAL_PATH)/xxx // 1这是源代码头文件目录,当前目录为创建的test目录
include $(CLEAR_VARS)
LOCAL_MODULE := xxxtest // 2自定义的可执行程序文件名
LOCAL_SRC_FILES := test/test_case.cpp
LOCAL_SRC_FILES += cpp/mtest.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/xxx // 3同注释1
LOCAL_STATIC_LIBRARIES := libgtest // *必写项
LOCAL_CFLAGS := --coverage // *必写项
LOCAL_LDFLAGS := --coverage // *必写