android统计库,android jacoco 统计多模块
Android 项目进行了模块化,手工运行完测试用例之后,jacoco 只统计一个模块下面的代码覆盖,其它模块的统计出来的数据都是为 0。
build.gradle:
apply plugin: "jacoco"
def coverageSourceDirs = ['../app/src/']
task jacocoTestReport(type: JacocoReport) {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
reports {
xml.enabled true
html.enabled true
}
classDirectories = fileTree(
dir: './build/intermediates/classes/product/debug',
excludes: ['/R*.class',
'/$InjectAdapter.class',
'/$ModuleAdapter.class',
'*/$ViewInjector*.class'
])
sourceDirectories = files(coverageSourceDirs)
executionData = files("$buildDir/outputs/code-coverage/connected/coverage.ec")
doFirst {
new File("$buildDir/intermediates/classes/").eachFileRecurse { file ->
if (file.name.contains('$$')) {
file.renameTo(file.path.replace('$$', '$'))
}
}
}
}
统计代码如下:
OnCreate:
String SDCARD_PATH = Environment.getExternalStorageDirectory().getPath();
String DEFAULT_COVERAGE_FILE_PATH = SDCARD_PATH + "/coverage.ec";
File file = new File(DEFAULT_COVERAGE_FILE_PATH);
if (! file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
OnDestroy:
public void generateCoverageReport() {
String SDCARD_PATH = Environment.getExternalStorageDirectory().getPath();
String DEFAULT_COVERAGE_FILE_PATH = SDCARD_PATH + "/coverage.ec";
Log.d("generateCoverageReport", "generateCoverageReport():" + DEFAULT_COVERAGE_FILE_PATH);
OutputStream out = null;
try {
out = new FileOutputStream(DEFAULT_COVERAGE_FILE_PATH, false);
Object agent = Class.forName("org.jacoco.agent.rt.RT").getMethod("getAgent").invoke(null);
out.write((byte[]) agent.getClass().getMethod("getExecutionData", boolean.class).invoke(agent, false));
} catch (Exception e) {
Log.d("generateCoverageReport", e.toString(), e);
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
覆盖数据都有,只是 HTML 文件显示代码都未运行,可以确认 MainActivity 是有运行的,但并未统计出来。求大神解答
android统计库,android jacoco 统计多模块相关推荐
- ( 持续更新,目前含 200+ 工具类 ) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。
DevUtils GitHub About ( 持续更新,目前含 200+ 工具类 ) Roadmap DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 ...
- android 自定义库,Android自定义Log库
背景 我们在开发的时候肯定会打一些Log,特别是在调试代码或者bug的时候,我们都会打一些Log日志来记录,但是当我们发布正式版本的时候,尼玛,要一行一行的去掉,这就尴尬了. 懵逼状态 励志封装Log ...
- libiconv android,iconv库 android ndk可运行
[实例简介] 是一个iconv库,能够在android上编译运行,生成SO库. [实例截图] [核心代码] cb24acd8-e96e-4981-89f0-8227dc4cc0c4 └── iconv ...
- android 函数库,Android Studio 实现开源函数库的离线依赖-greenDAO 3 为例
@author ASCE1885的 Github 简书 微博 CSDN 知乎 本文由于潜在的商业目的,不开放全文转载许可,谢谢! nami.png-599.1kB Android 应用开发中,经常需要 ...
- android tv 库,Android TV Leanback 简介
TV 纵向滑动列表介绍 构建滑动列表的几种方式: ListView / RecyclerView 自定义LinearLayout/ScrollView/ViewGroup 采用leanback库 go ...
- (持续更新, 目前含100+工具类) DevUtils 是一个 Android 工具库
DevUtils Github About (持续更新, 目前含100+工具类) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用. ...
- Android 第三方库常用混淆
ButterKnife implementation 'com.jakewharton:butterknife:9.0.0' annotationProcessor 'com.jakewharton: ...
- Android系统架构-----Android的系统体系架构
一.Android的系统体系结构 Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framewor ...
- Android ui 单元测试 覆盖率,Android单元测试/Ui测试+JaCoCo覆盖率统计
Android单元测试/Ui测试+JaCoCo覆盖率统计 参考资料1 参考资料2 背景说明 单元测试 从源代码着手,对源码中的最小可测试单元进行检查和验证,在对源代码有较深的理解下,编写测试单元,工作 ...
最新文章
- 《DSP using MATLAB》示例Example7.22
- python入门到精通需要学多久-Python零基础入门到精通:一个月就够了
- python少儿编程 在线课程-石家庄Python人工智能编程
- maven package和install
- JVM--类加载机制
- php返回json套数组_教你PHP怎么不用框架写优雅的中小网站
- delphi制作上下开幕效果_显示产业国际盛会开幕,广州新型显示产值将突破2500亿...
- SEAndroid语法介绍
- Python动态页面抓取超级指南
- 话单数据仓库搭建(1)- 数仓概念及数据采集
- 嵌入式linux 面试题
- 实战NLP beginner任务一:基于机器学习的文本分类
- 领航机器人广告段子_医院机器人物流科技宣传广告语
- 深入理解java虚拟机——自动内存管理
- 前端踩坑(八)前端使用Moment 时间格式化错误
- 模电笔记 差分放大器1
- MT2014——打靶
- 2002111126 邱新辉
- 【银河麒麟V10】【服务器】IO调度算法与性能分析
- 使用Qt创建一个C语言工程