Android Studio中的重复条目

时间:2015-08-14 09:55:31

标签: android android-studio duplicates

我能够在Android Studio中成功构建项目,但是当我尝试运行应用程序时会收到类似这样的错误"重复条目:android / support / v4 / print / PrintHelper $ 1.class。&#34 ;,我已经搜索了很多网站并尝试了很多建议,但都失败了。请帮助我......我的代码是不好的。我为此奋斗了2天。

 apply plugin: 'com.android.application'
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':appcompat_v7')
    compile project(':google-play-services_lib')
    compile project(':Cognalys')
    //noinspection GradleDynamicVersion
    compile 'com.android.support:recyclerview-v7:22.2.+'
}
android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc3"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
    defaultConfig {
        // Enabling multidex support.
        multiDexEnabled true
    }
    buildTypes {
       release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

2 个答案:

答案 0 :(得分:0)

我遇到同样的错误,我解决了,但我只是告诉你我的情况;

我的bulid.gradle:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile ('com.android.support:appcompat-v7:22.0.0') 
    compile files('libs/android-async-http-1.4.8.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/universal-image-loader-1.9.4-with-sources.jar')
}

错误是com.android.support:appcompat-v7:22.0.0包含support-v4.jar,所以我将其删除;

解决build.gradle:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile ('com.android.support:appcompat-v7:22.0.0') {
        exclude module: 'support-v4'
    }
    compile files('libs/android-async-http-1.4.8.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/universal-image-loader-1.9.4-with-sources.jar')
}

所以也许你应该检查你的依赖关系,也许你的编译文件有两个文件包括support-v4

答案 1 :(得分:0)

这个问题是“重复条目”,当“。java”变成“.class”时,不同的jar可能会有相同的类,你的项目可能依赖于许多不同的库,可能有很多jar,所以解决这个问题的关键错误是避免重复jar,尽可能使用在线依赖于不是本地jar,所有这些东西都可以在你的gradle中配置

例如:编译文件('libs / com.nostra13.universalimageloader:universal-image-loader:1.9.5')需要更改为compile'c​​om.nostra13.universalimageloader:universal-image-loader: 1.9.5。

如果你必须使用本地jar,请确保你的prject和项目所依赖的lib共享一个jar。