【问题标题】:How to fix 'Duplicate classes' in Android Studio如何修复 Android Studio 中的“重复类”
【发布时间】:2019-10-23 13:51:14
【问题描述】:

我正在 Android Studio 中制作条形码扫描仪应用程序,并为此使用 zxing 库。如果我要添加库并想要构建我的项目,则问题是“app:checkDebugDuplicateClasses”步骤将不起作用,并且控制台中会出现许多“重复类”错误。

我已经尝试在“build.gradle”中使用数千个小步骤来修复它,但都没有成功。

这是我的 build.gradle 文件:

    compileSdkVersion 28
    defaultConfig {
        applicationId "eu.lenni.kran"
        minSdkVersion 28
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.journeyapps:zxing-android-embedded:3.4.0'
}

这就是错误:

org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
    ... 6 more
Caused by: com.android.ide.common.workers.WorkerExecutorException: 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:23.1.0)
Duplicate class android.support.v4.app.ActionBarDrawerToggle found in

等等……

【问题讨论】:

  • 这是因为您在libs 文件夹中添加了两次库
  • 能否在您的问题中包含您的项目级别和应用级别的 build.gradle 文件?

标签: android gradle duplicates barcode zxing


【解决方案1】:

使用升级的库版本

implementation('com.journeyapps:zxing-android-embedded:3.6.0') { transitive = false }

完美运行

更多详情:-https://github.com/journeyapps/zxing-android-embedded#adding-aar-dependency-with-gradle

【讨论】:

    【解决方案2】:

    尝试在 build.gradle 文件中添加这个库

    implementation 'me.dm7.barcodescanner:zxing:1.9'
    
    implementation 'com.google.android.gms:play-services-vision:17.0.2'
    

    并在项目级 gradle 文件中添加这一行:

    buildscript {
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.4.0'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
            maven{
                url "https://jitpack.io"
            }
        }
    }
    

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 2020-12-14
      • 1970-01-01
      • 2021-11-17
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多