Аннотации Android с инструментами Kotlin и build 2.3.0

Чтобы использовать аннотации Android до 2.3.0, человек сделает это:

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 это работает отлично. В Котлине:

 @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. Имеет смысл, но я не знаю, почему и как это исправить.

Вы должны использовать kaptapply plugin: 'kotlin-kapt' ) вместо annotationProcessor если вы хотите использовать код Kotlin для обработки аннотаций (вы можете продолжать использовать annotationProcessor только в том случае, если вы не генерируете код из источников Kotlin, например, в вашем примере , где у вас есть MainActivity, написанная в Котлине)