3

と を使用する'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 を生成できないようです。これを修正する方法はありますか?

4

1 に答える 1

3

これには 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この方法では、AA はマニフェスト内のなどの存在を検証しないEActivityため、Instant Run でコンパイルされます。原因は、Instant Run がマニフェスト内のアプリケーション クラスを変更することです。そのため、AA は生成されたものをその中に見つけることができません。

更新: AA 4.0-SNAPSHOT はモジュール化されています。つまり、build.gradle に AA REST クライアント モジュールも追加する必要があります。

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

そして、REST アノテーションのインポートを に変更する必要がありますorg.androidannotations.rest.spring.annotations.*

于 2016-02-16T08:29:02.057 に答える