3

使用'com.android.tools.build:gradle:1.5.0'and '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:trueapt参数:

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

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

这样 AA 不会验证清单中是否存在EApplicationEActivity,因此它将与 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 回答