【问题标题】:"Execution failed for task: ':app:javaPreCompileDebug' " in Android Studio 3.0.1Android Studio 3.0.1 中的“任务执行失败:':app:javaPreCompileDebug'”
【发布时间】:2018-01-24 07:04:22
【问题描述】:

尝试执行我的项目时出现以下错误:

错误:任务 ':app:javaPreCompileDebug' 执行失败。

注解处理器现在必须显式声明。发现编译类路径上的以下依赖项包含 注释处理器。请将它们添加到 annotationProcessor 配置。 - butterknife-7.0.1.jar (com.jakewharton:butterknife:7.0.1) 或者,设置 android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true 继续以前的行为。请注意,此选项已弃用,将来将被删除。看 https://developer.android.com/r/tools/annotation-processor-error-message.html 了解更多详情。

请不要将此问题标记为与其他问题一样重复,这里是针对我不使用的龙目岛的。

【问题讨论】:

    标签: android android-studio-3.0


    【解决方案1】:

    正如错误所说,您需要在应用程序 build.gradle 中使用 annotationProcessor。 Afaik,您需要将 ButterKnife 库升级到版本 8.8.1。你需要使用这样的东西:

    dependencies {
      compile 'com.jakewharton:butterknife:8.8.1'
      annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    }
    

    详情请查看Android studio 3.0 butterknife error issue。

    【讨论】:

    • 非常感谢您的建议。我做到了,然后我得到的错误是“无法解析符号绑定”。在谷歌搜索中,我发现“Bind”必须替换为“BindView”。我在所有活动中都这样做了。然后我得到的错误是“无法解析方法'getMap()”。发现getMap()被google贬值了,不得不换成getMapAsync()。现在我无法解决这个问题,因为我不确定如何实现它。错误在于它的论点。无法解决。
    • 我正在尝试以这种方式实现它: private GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps)) .getMapAsync(new OnMapReadyCallback() { @Override public void onMapReady(GoogleMap map) { map.addMarker(new MarkerOptions() .position(new LatLng(0, 0)) .title("Marker")); } });我得到的错误是:错误:(52、25)错误:不兼容的类型:void 无法转换为 GoogleMap
    • 谢谢!这为我修好了。一定喜欢快速修复。
    【解决方案2】:
    Adding these two line in app/build.gradle 
    
    dependencies {
      compile 'com.jakewharton:butterknife:8.8.1'
      annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    }
    
    
    It worked for me 
    

    【讨论】:

    【解决方案3】:

    经过以下过程,我的问题就解决了。

    在 build.gradle(module app) 中

    1. 应用插件:

       apply plugin: 'com.jakewharton.butterknife'
      
    2. 在依赖项部分添加以下行:

       annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
       implementation 'com.jakewharton:butterknife:8.7.0'
      

    在 build.gradle(Project:projectName) 中,在依赖项中添加 classPath,如下所示:

        classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
    

    它将解决此问题。 如果没有,则添加 maven:

     maven {
     url 'https://maven.google.com'
     }
    

    【讨论】:

      猜你喜欢
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 2015-05-23
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多