我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
场景
- 有一个Java开发的工程;
- 有一个Kotlin开发的Library工程;
- Java开发的工程引用Kotlin开发的Library工程;
错误提示
com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到org.jetbrains.annotations.NotNull的类文件;
无法访问NotNull;
解决方案
一般出现这类问题是Java开发的工程有使用dagger2,因此我们的解决方案是
- 需要在Java开发的工程中配置对kotlin的支持,比如根目录build.gradle:
app工程build.gradle:
- 将dagger2的annotationProcessor替换成kapt:
kapt 'com.google.dagger:dagger-compiler:2.7'