首页 > 解决方案 > androidx和支持依赖导致multidex错误

问题描述

我有一个在其中使用androidx依赖项的库项目。

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

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

所以我使用window+O(导航->类)搜索了该文件。然后我发现'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,我compileSdkVersion的是28. 我的所有依赖项都是最新的。我已经添加了multidex依赖项,并且我的应用程序类也在扩展MultiDexApplication.

标签: androidandroid-gradle-pluginandroid-support-libraryandroid-multidexandroidx

解决方案


仅仅设置multidex true是不够的。

您需要先包含此依赖项

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

然后

defaultConfig {
        ...
        multiDexEnabled true
    }

然后在你的清单中

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

推荐阅读