Android:编译错误:执行任务“:app:compileDebugJava”失败

3
我遇到了以下错误:
Error:(89, 39) error: incomparable types: CAP#1 and int  
where CAP#1 is a fresh type-variable:  
CAP#1 extends Object from capture of ?Note: Some input files use unchecked or   unsafe operations.  
Note: Recompile with -Xlint:unchecked for details.  
Error:Execution failed for task ':app:compileDebugJava'.  

编译失败,请查看编译器错误输出以获取详细信息。

我的Gradle文件如下所示:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0 rc3"

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

    }

    defaultConfig {
        applicationId "wishlist.oj.app"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:recyclerview-v7:21.+'
    compile 'com.android.support:cardview-v7:21.+'
}

错误来自于我的Recycler View适配器文件,它只是将多个文本视图填充到回收站视图中。

3个回答

5

错误:任务“:app:compileDebugJava”执行失败。

最佳实践

首先启用multiDexEnabled,然后升级您的support:recyclerviewsupport:appcompatsupport:cardview版本。

Gradle中可用的Android插件已支持多Dex作为构建配置的一部分。在尝试配置应用程序进行多Dex之前,请确保使用SDK Manager更新Android SDK Build Tools工具和Android Support Repository到最新版本。

设置您的应用开发项目以使用多Dex配置需要您对应用开发项目进行一些修改。特别是,您需要执行以下步骤:

  1. 更改Gradle构建配置以启用多Dex
  2. 修改清单以引用MultiDexApplication类

修改您的应用程序 Gradle 构建文件配置,以包括支持库并启用多Dex输出。

     android {
        compileSdkVersion 23
        buildToolsVersion "23.0.1"

        defaultConfig {
            ...
            minSdkVersion 16
            targetSdkVersion 23
            ...

            // Enabling multidex support.
            multiDexEnabled true
        }
        ...
    }

    dependencies {
      compile 'com.android.support:multidex:1.0.0'
      compile 'com.android.support:appcompat-v7:23.1.1'
      compile 'com.android.support:recyclerview-v7:23.1.1"
      compile 'com.android.support:cardview-v7:23.1.1'
     }

然后清除-重建-重新启动-同步您的项目。

同样的错误仍然存在..我需要在Android清单文件中做哪些更改? - ojas
@ojas 相同的 logcat 返回了什么? - IntelliJ Amiya
@ojas,你可以设置 buildToolsVersion "23.0.2"。你的类路径是什么? - IntelliJ Amiya
使用 classpath 'com.android.tools.build:gradle:1.5.0' - IntelliJ Amiya
2
我应该在哪里编写类路径?我不能在依赖中编写此内容。buildToolsVersion“23.0.2”没有帮助……我的gradle版本:2.2.1..android插件版本:1.2.2…我需要更新吗? - ojas

2

变更

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1"
compile 'com.android.support:cardview-v7:23.1.1'

我已经应用了你的解决方案...但是出现了新的错误:注意:C:\Users\AndroidStudioProjects\WishList\app\src\main\java\oj\app\home\AdaptorDrawer.java使用或覆盖了一个已弃用的API。 - ojas

0

只需添加即可。

android:{
 lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接