Gradle 2.0.0-beta4使AndroidAnnotation不起作用

时间:2016-02-16 04:37:02

标签: android-studio android-gradle android-annotations android-apt

使用'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 个答案:

答案 0 :(得分: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'
    }
}

这种方式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.*