【问题标题】:how to fix Android Annotations 4.6.0 compile with android Studio 3.5 and 3.5.0 gradle如何修复 Android Annotations 4.6.0 编译与 android Studio 3.5 和 3.5.0 gradle
【发布时间】:2019-08-22 06:48:51
【问题描述】:

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

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

我已将 android.enableSeparateAnnotationProcessing=true 放入 gradle.properties 文件中

但据说

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

找不到 AndroidManifest.xml 文件

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 成功了。希望一旦 AA 解决了这个问题,我们就可以摆脱它
    【解决方案2】:

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

    方法一 - 使用快照版本

    当前 Annotation lib 版本是 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()]
            }
        }
    }
    

    希望它会起作用:)

    【讨论】:

      【解决方案3】:

      AndroidAnnotations 还不支持Gradle incremental annotation processing。你仍然可以构建你的应用程序,这只意味着增量编译时间没有它可能的那么快。有一个issue用于跟踪增量处理的实现。

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

      【讨论】:

      • 谢谢!,我通过将等级降级到 3.4.0 并在 gradle-wrapper.properties 文件中解决它到:intdistributionUrl=https\://services.gradle.org/distributions TO "gradle- 5.1.1-all.zip"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多