androidx和支持依赖性导致multidex错误

时间:2018-08-17 17:41:21

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

我有一个正在使用androidx依赖项的图书馆项目。

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

在我的应用中添加库项目后,我遇到与dexMergerMultiDexMultiple 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,而我的compileSdkVersion28。我的所有依赖关系都是最新的。 我已经添加了multidex依赖项,我的应用程序类也正在扩展MultiDexApplication

3 个答案:

答案 0 :(得分:1)

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

./ gradlew应用程序:依赖项

然后排除像这样的模块

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

希望这可以解决您的问题! 让我知道您是否有任何问题!

答案 1 :(得分:0)

仅设置multidex true是不够的。

您需要先添加此依赖项

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

然后

defaultConfig {
        ...
        multiDexEnabled true
    }

然后在您的清单中

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

答案 2 :(得分:0)

尝试

android {
    dexOptions {
        preDexLibraries = false
    }
}