Android注释与Kotlin和生成工具2.3.0

要在2.3.0之前使用Android Annotations,人们可以这样做:

dependencies { apt "org.androidannotations:androidannotations:$AAVersion" compile "org.androidannotations:androidannotations-api:$AAVersion" } 

要使用Kotlin,您将使用kapt而不是apt ( 链接 )。

从2.3.0开始,一个人需要使用annotationProcessor来代替apt:

 annotationProcessor "org.androidannotations:androidannotations:$AAVersion" compile "org.androidannotations:androidannotations-api:$AAVersion" 

有没有人知道需要更改以注释处理程序使用Kotlin?

我目前有一个非常简单的主要活动,我使用@EActivity来设置布局。 我在manifest, .MainActivity_声明了生成的文件。

在Java中,这工作正常。 在Kotlin:

 @EActivity(R.layout.activity_main) open class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } } 

我得到一个运行时错误:

过程:[…],PID:10018 java.lang.RuntimeException:无法实例化活动ComponentInfo {[…]。MainActivity_}:java.lang.ClassNotFoundException:没有找到类“[…]”。 MainActivity_“的路径:DexPathList [[zip文件”/data/app/[…]-1/base.apk"],nativeLibraryDirectories=[/data/app/[…]-1/lib/x86, / vendor / lib,/ system / lib]]

****更新****

所以我清理并重建了这个项目。 看起来注解不是为MainActivity生成下划线文件。 有道理,但我不知道为什么或如何解决它。

如果您想使用Kotlin代码进行注释处理,您必须使用kapt (并apply plugin: 'kotlin-kapt' )而不是annotationProcessor (只有在您不从Kotlin源生成任何代码时,您才能继续使用annotationProcessor, ,你在Kotlin有MainActivity的地方)