【问题标题】:Build errors. Duplicate class android.support.v4构建错误。重复类 android.support.v4
【发布时间】:2019-10-13 08:41:33
【问题描述】:

我按照 uTube 指南 https://www.youtube.com/watch?v=CLjzLiU_GpE 使用 Visual Studio 创建了一个简单的图像到文本应用程序

我是应用程序开发的新手,想学习这个但无法编译。

我尝试在此处遵循类似的错误 Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes?

当我尝试遵循这一点并添加到 AndroidStudioProjects\ImageToTextApp\gradle.properties 我收到更多错误

我的错误如图所示,但我(仅)包括了第一个和最后两个,总共有 390 个。

我想我可以看到它告诉我(根据此处的其他问题)该类位于 2 个库中。 (com.android.support:support-compat:28.0.0) 和 classes.jar (com.android.support:support-v4:24.0.0)

我是否看到我的项目导入了这些库以及如何修复这些错误。

在模块 classes.jar (com.android.support:support-compat:28.0.0) 和 classes.jar (com.android.support:support-v4: 24.0.0) 在模块 classes.jar (com.android.support:support-core-ui:28.0.0) 和 classes.jar (com.android.support:support-v4:24.0) 中发现重复的类 android.support.v4.app.ActionBarDrawerToggle .0) ... 在模块 classes.jar (com.android.support:customview:28.0.0) 和 classes.jar (com.android.support:support-v4:24.0.0) 中发现重复的类 android.support.v4.widget.ViewDragHelper$2 在模块 classes.jar (com.android.support:customview:28.0.0) 和 classes.jar (com.android.support:support-v4:24.0.0) 中发现重复的类 android.support.v4.widget.ViewDragHelper$Callback )

转到文档以了解如何修复依赖项解析错误。

嗨@BachVu 我添加了您建议的行,build.gradle 文件现在看起来像

依赖{ 实现文件树(目录:'libs',包括:['*.jar']) 实施 'com.android.support:appcompat-v7:28.0.0' 实施 'com.android.support.constraint:constraint-layout:2.0.0-beta1' testImplementation 'junit:junit:4.13-beta-3' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 实施 'com.google.android.gms:play-services-vision:10.2.4' 排除模块:'support-v4' }

但这只会造成更多错误

错误:未找到 Gradle DSL 方法:'exclude()'

我需要添加另一个导入还是添加到错误的位置?

【问题讨论】:

    标签: android image text


    【解决方案1】:

    尝试迁移 AndroidX

    ==> Step 1
    Just go to
    Refactor > Migrate to AndroidX > Migrate > Do Refactor
    
    ==> Step 2
    Update your classPath and all dependencies with the latest version(Alt+Enter)
    

    【讨论】:

      【解决方案2】:

      gradle.properties写这两行代码:

      android.useAndroidX=true
      android.enableJetifier=`true
      

      【讨论】:

        【解决方案3】:

        这是我的 build.Gradle 文件,一切正常;

        dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.android.support:appcompat-v7:28.0.0'
            implementation 'com.android.support.constraint:constraint-layout:2.0.0-beta1'
            testImplementation 'junit:junit:4.13-beta-3'
            androidTestImplementation 'com.android.support.test:runner:1.0.2'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
            implementation 'com.google.android.gms:play-services-vision:17.0.2' }
        

        主要区别是

        com.google.android.gms:play-services-vision:10.2.4
        

        出于某种原因,这还可以,然后突然提示它已过时。一旦我从 10.2.4 > 17.0.2 更新,所有错误都消失了。

        感谢您的宝贵时间。

        【讨论】:

          【解决方案4】:

          尝试将此行添加到导致此问题exclude module: 'support-v4' 的库中,如下所示:

          implementation("androidx.recyclerview:recyclerview:x.x") {
                  exclude group: 'com.android.support'
                  exclude module: 'appcompat-v7'
                  exclude module: 'support-v4'
              }
          

          【讨论】:

          • 嗨@BachVu。很抱歉在添加评论时遇到了很多麻烦。 - 现在看问题,我根据你的建议在最后添加了一些代码,我现在得到的错误是找不到函数 exclude()。
          • @Paul 你能严格遵守 parathensis 的语法吗?这个{}
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-04
          相关资源
          最近更新 更多