当前位置: 首页 > 知识库问答 >
问题:

Android Studio 3.0错误:android-apt不兼容

叶鸿振
2023-03-14

我是Android开发的新手,有一个遗留项目。所以我安装了最新版本的Android Studio并打开了它。

当我试图构建它时,我得到了这个错误:

Error:android-apt plugin is incompatible with the Android Gradle plugin.  Please use 'annotationProcessor' configuration instead.

我已经尝试了这些帖子中显示的解决方案,但它不起作用。

我没有任何关于我的宏伟构建脚本的机器人参考。

许多编译包显示为过时。但是当我按照Android的工作室建议更新参考时,我收到错误,说找不到软件包。

正如我所说的,我是Android Studio世界的新手,所以我对所有这些东西有点迷茫。

这是我的build.gradle(模块:app):

apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'realm-android'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"


    defaultConfig {
        applicationId "xxxxxxxxxxxx"
        minSdkVersion 19
        targetSdkVersion 24
        versionCode 123
        versionName "1.2.3"
        manifestPlaceholders = [HOCKEYAPP_APP_ID: "xxxxxxxxxxxxxxxxxxxxx"]

        //For Test
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    packagingOptions {
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile('com.mikepenz:materialdrawer:4.6.4@aar') {
        transitive = true
    }

    //For Test
    androidTestCompile 'com.android.support:support-annotations:24.2.1'
    //noinspection GradleCompatible
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test:rules:0.5'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    compile 'com.android.support:cardview-v7:24.2.1'
    compile 'com.android.support:recyclerview-v7:24.2.1'
    compile 'com.android.support:support-v4:24.2.1'
    compile 'com.android.support:support-v13:24.2.1'
    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
    compile 'com.squareup.okhttp3:okhttp:3.1.2'

    compile 'com.jakewharton:butterknife:7.0.1'

    compile 'com.p_v:flexiblecalendar:1.1.4'
    compile 'br.com.zbra:android-linq:1.0.1'

    compile 'com.google.android.gms:play-services-maps:9.4.0'

    compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
    compile 'com.cardiomood.android:android-widgets:0.1.1'
    compile 'com.github.thorbenprimke:realm-recyclerview:0.9.14'

    compile 'net.hockeyapp.android:HockeySDK:4.0.0'
}

这是我的构建(项目:我的应用):

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'me.tatarka:gradle-retrolambda:3.2.3'
        classpath "io.realm:realm-gradle-plugin:0.88.3"
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

共有1个答案

邹涵畅
2023-03-14

不再支持第三方android-apt插件。您应该切换到内置的注释处理器支持,它已经得到了改进,可以轻松地处理依赖关系的解析。

使用 Android 插件 3.0.0 时,必须使用注释处理器依赖项配置将注释处理器添加到处理器类路径中,如下所示:

dependencies {
    ...
    annotationProcessor 'com.google.dagger:dagger-compiler:<version-number>'
}

请阅读完整的迁移指南Android Gradle插件3.0.0在https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

不再需要逆向蓝。新的Android渐变插件支持 Java 8 语言功能。在此处阅读更多内容。

假设您遵循了迁移指南,错误是由旧领域插件引起的。

Realm插件在幕后管理所有Realm依赖项。这也意味着它的旧版本不支持新工具。

领域2.2.0首次支持< code>annotationProcessor配置,如变更日志中所示:

    < li >增加了对Android Gradle Plugin 2.2.0或更高版本提供的< code>annotationProcessor配置的支持。如果< code > com . neenbedankt . Android-apt 插件可用且未使用,则领域插件将其注释处理器添加到< code>annotationProcessor配置中,而不是< code>apt配置中。在Kotlin项目中,使用< code>kapt而不是< code>annotationProcessor配置(#3026)。

实际上你有两个选择:

  • 将您的领域至少更新到2.2.0,或
  • 回到Android Gradle插件2.3.3。
 类似资料: