【发布时间】:2017-10-25 11:42:14
【问题描述】:
要使用 2.3.0 之前的 Android 注释,人们会这样做:
dependencies {
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
要使用 Kotlin,您可以使用 kapt 而不是 apt (link)。
从 2.3.0 开始,人们需要使用 annotationProcessor 而不是 apt:
annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
有谁知道要将 Kotlin 与 annotationProcessor 一起使用需要进行哪些更改?
我目前有一个非常简单的主要活动,我设置它使用@EActivity 来抓取布局。我在清单中声明了生成的文件.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 生成下划线文件。有道理,但我不知道为什么或如何解决它。
【问题讨论】:
标签: android kotlin android-annotations