项目参考 TestHome 里面手工测试代码覆盖率手工版,只为提供一种方便大家调用的工具,和当前项目无侵入。
# 使用方法
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="替换成自己的包名">
<instrumentation
android:handleProfiling="true"
android:label="CoverageInstrumentation"
android:name="me.shenfan.androidemma.EmmaInstrumentation"
android:targetPackage="替换成自己的包名"/>
</manifest>
apply plugin: 'jacoco'
jacoco{
toolVersion = "0.7.1.201405082137"
}
android{
buildTypes {
debug {
testCoverageEnabled = true
}
}
}
private FinishListener finishListener;
@Override
public void setFinishListener(FinishListener listener) {
finishListener = listener;
}
@Override
protected void onDestroy() {
super.onDestroy();
if (finishListener != null){
finishListener.onActivityFinished();
}
}
EmmaUtil.dump(Context);
更多信息见 demo 项目
打开桌面图标 EmmaInstrumentation ,点击 open 即可,其实就是执行了
adb shell am instrument 当前应用包名/me.shenfan.androidemma.EmmaInstrumentation
默认数据保存在 sdcard/Android/当前项目包名/coverage.ec
根据 coverage.ec 生成报告,请看这里
allprojects {
repositories {
maven { url "https://www.jitpack.io" }
}
}
dependencies {
debugCompile 'com.github.yaming116.AndroidEmma:library:1.1.0'
releaseCompile 'com.github.yaming116.AndroidEmma:androidemma-no-op:1.1.0'
}
项目地址: github