我正在尝试从Android Studio运行Jacoco报告。这样做时,Dagger2生成的类的ViewModule和UserModule给出了错误,指出
错误:找不到符号 @Generated( ^ 符号:生成的类
错误:程序包javax.annotation.processing不存在
我不确定Dagger为什么不被编译或被忽略。
我运行Graco报告的Gradle任务是,我正在使用0.8.5版
task testDebugUnitTestCoverage(type: JacocoReport,dependsOn: ['testDevelopmentDebugUnitTest','connectedDevelopmentDebugAndroidTest']) {
group = "Reporting"
description = "Generates aggregate report for unit tests and instrumentation tests"
reports {
html.enabled = true
xml.enabled = true
}
def excludes = [
'**/R.class','**/R$*.class','**/BuildConfig.*','**/*activity*.*','**/Manifest*.*','**/*Test*.*','android/**/*.*','androidx/**/*.*','io/realm/**/*.*','**/*InjectAdapter*.*','**/*StaticInjection*.*','**/*ModuleAdapter*.*'
]
// generated classes
classDirectories.from = fileTree(
dir: "$buildDir/intermediates/classes/debug",excludes: excludes
) + fileTree(
dir: "$buildDir/tmp/kotlin-classes/debug",excludes: excludes
)
// sources
sourceDirectories.from = files([
android.sourceSets.main.java.srcDirs,"src/main/kotlin"
])
executionData.setfrom(fileTree(dir: "$project.buildDir",includes: [
"jacoco/testDevelopmentDebugUnitTest.exec","outputs/code_coverage/developmentDebugAndroidTest/connected/*coverage.ec"
]))