Gradle 2.0.0-бета4 делает Android Аннотации не работает

С 'com.android.tools.build:gradle:1.5.0' а также 'com.neenbedankt.gradle.plugins:android-apt:1.8'AndroidAnnotation хорошо работает с обработкой аннотации. Но после обновления до 'com.android.tools.build:gradle:2.0.0-beta4' для мгновенного запуска кажется, что AndroidAnnotation не может генерировать @EApplication. Есть ли способ это исправить?

1 ответ

Решение

Вы должны использовать AA 4.0-SNAPSHOT для этого.

Добавить репозиторий для снимков AA:

repositories {
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
}

Изменить версию AA на 4.0-SNAPSHOT

dependencies {
   compile "org.androidannotations:androidannotations-api:4.0-SNAPSHOT"
   apt "org.androidannotations:androidannotations:4.0-SNAPSHOT"
}

добавлять library:true в apt аргумент:

apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
        resourcePackageName android.defaultConfig.applicationId

        //only for Android Annotations 4.0-SNAPSHOT 
        library 'true'
    }
}

Таким образом, АА не проверяет наличие EApplication, EActivity и т.д. в вашем манифесте, следовательно, он будет компилироваться с Instant Run. Причина в том, что Instant Run изменяет класс вашего приложения в манифесте, поэтому AA не может найти сгенерированный в нем.

Обновление: AA 4.0-SNAPSHOT является модульным, что означает, что вы должны добавить клиентский модуль AA REST также в ваш build.gradle

org.androidannotations:rest-spring:4.0-SNAPSHOT
org.androidannotations:rest-spring-api:4.0-SNAPSHOT

И вы должны изменить импорт аннотации REST на org.androidannotations.rest.spring.annotations.*,

Другие вопросы по тегам