3

我有一个在其中使用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.

4

3 回答 3

1

仅仅设置multidex true是不够的。

您需要先包含此依赖项

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

然后

defaultConfig {
        ...
        multiDexEnabled true
    }

然后在你的清单中

<application
        android:name="android.support.multidex.MultiDexApplication" >
        ...
</application>
于 2018-08-17T17:49:02.643 回答
1

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

./gradlew 应用程序:依赖项

然后像这样排除模块

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

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

于 2018-08-20T08:13:10.563 回答
0

尝试

android {
    dexOptions {
        preDexLibraries = false
    }
}
于 2018-08-17T18:04:56.547 回答