我有一个正在使用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
。
答案 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
}
}