如何修复 Android Annotations 4.6.0 使用 android Studio 3.5 和 3.5.0 gradle 编译

how to fix Android Annotations 4.6.0 compile with android Studio 3.5 and 3.5.0 gradle

我将 Android studio 更新到 3.5,但是当我使用 android 注释时出现问题

Gradle may disable incremental compilation as the following annotation processors are not incremental: jetified-androidannotations-4.6.0.jar (org.androidannotations:androidannotations:4.6.0).
Consider setting the experimental feature flag android.enableSeparateAnnotationProcessing=true in the gradle.properties file to run annotation processing in a separate task and make compilation incremental

我在 gradle.properties 文件中输入了 android.enableSeparateAnnotationProcessing=true

但是据说

信息:选项设置 'android.enableSeparateAnnotationProcessing=true' 是实验性的,不受支持。 当前默认值为 'false'.

找不到 AndroidManifest.xml 文件

AndroidAnnotations 不支持Gradle incremental annotation processing, yet. You can still build your app, it only means that incremental compilation time is not as fast as it could be. There is an issue跟踪增量处理的实现。

我建议不要设置 android.enableSeparateAnnotationProcessing 标志,因为它是实验性的,可能会导致其他问题,并且会减慢您的清理构建速度。

我遇到了几乎相同的问题,在将 android studio 和 gradle 更新到 3.5 后无法构建我的应用程序,但根据 this answer 我将其添加到我的 defaultConfig{}在应用程序 gradle 中,问题已解决!

javaCompileOptions {
        annotationProcessorOptions {
            arguments = [
                    "androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()
            ]
        }
    }

有两种方法可以解决这个问题

方法一-使用快照版本

当前注释库版本为 4.6,要临时修复这些错误,您可以使用快照版本

在项目级别 Gradle 添加以下内容 URL

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

}

方法二——使用javaCompileOptions

在 gradle DSL

中添加以下代码
  defaultConfig {
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = ["resourcePackageName": android.defaultConfig.applicationId]
            arguments = ["androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()]
        }
    }
}

希望它会起作用:)