【问题标题】:androidx and support dependency causing multidex errorandroidx和支持依赖导致multidex错误
【发布时间】:2019-01-24 19:10:19
【问题描述】:

我有一个库项目,其中使用了androidx 依赖项。

implementation 'androidx.appcompat:appcompat:1.0.0-rc01'

在我的应用程序中添加库项目后,我收到多个与dexMergerMultiDexMultiple dex files define Landroid/support/v4/... 相关的错误 .

所以我使用window+O (Navigate --> Class) 搜索了那个文件。然后我发现'androidx.appcompat:appcompat:1.0.0-rc01'android.support.v4.. 库中使用了相同的类。所以我试图排除如下 -

    implementation('androidx.appcompat:appcompat:1.0.0-rc01') {
         exclude module: 'support-v4'
    }

我还添加了multidex true,但没有任何帮助。我读到了AndroidX 看起来它包含许多类似于支持库的类。在这种情况下应该怎么做?我有最新版本的 Android Studio,我的compileSdkVersion28。我的所有依赖项都是最新的。 我已经添加了multidex 依赖,并且我的应用程序类也在扩展MultiDexApplication

【问题讨论】:

标签: android android-gradle-plugin android-support-library android-multidex androidx


【解决方案1】:

仅设置multidex true 是不够的。

你需要先包含这个依赖

implementation 'com.android.support:multidex:1.0.3'

然后

defaultConfig {
        ...
        multiDexEnabled true
    }

然后在你的清单中

<application
        android:name="android.support.multidex.MultiDexApplication" >
        ...
</application>

【讨论】:

  • 我已经添加了multidex 依赖,并且我的应用程序类也在扩展MultiDexApplication。查看我更新的问题。
【解决方案2】:

试试

android {
    dexOptions {
        preDexLibraries = false
    }
}

【讨论】:

  • 以前试过这个。运气不好!!
【解决方案3】:

使用以下命令检查哪个依赖项具有重复的类

./gradlew app:dependencies

然后像这样排除模块

{
  exclude group: 'com.android.support'
}

希望这能解决您的问题! 如果您有任何问题,请告诉我!

【讨论】:

  • 谢谢!不包括com.android.support 删除错误
猜你喜欢
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
  • 1970-01-01
  • 2015-02-05
  • 1970-01-01
  • 2015-10-03
  • 2019-12-05
相关资源
最近更新 更多