androidx 和支持依赖导致 multidex 错误
androidx and support dependency causing multidex error
我有一个库项目,其中使用了 androidx
依赖项。
implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
在我的应用程序中添加库项目后,我收到多个与 dexMerger
、MultiDex
、Multiple dex files define Landroid/support/v4/...
相关的错误
.
所以我使用 window+O
(导航 --> Class)搜索了该文件。然后我发现 'androidx.appcompat:appcompat:1.0.0-rc01'
和 android.support.v4..
库中使用了相同的 class。所以我试着排除如下 -
implementation('androidx.appcompat:appcompat:1.0.0-rc01') {
exclude module: 'support-v4'
}
我也添加了 multidex true
但没有任何帮助。我读到 AndroidX
看起来它包含许多类似于支持库的 classes。在这种情况下应该怎么办?我有最新版本的 Android Studio,我的 compileSdkVersion
是 28
。我的所有依赖项都是最新的。
我已经添加了 multidex
依赖项并且我的应用程序 class 也在扩展 MultiDexApplication
.
仅仅设置 multidex true
是不够的。
您需要先包含此依赖项
implementation 'com.android.support:multidex:1.0.3'
然后
defaultConfig {
...
multiDexEnabled true
}
然后在你的清单中
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
尝试
android {
dexOptions {
preDexLibraries = false
}
}
使用以下命令检查哪个依赖项有重复项class
./gradlew app:dependencies
然后像这样排除模块
{
exclude group: 'com.android.support'
}
希望这能解决您的问题!
如果您有任何问题,请告诉我!
我有一个库项目,其中使用了 androidx
依赖项。
implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
在我的应用程序中添加库项目后,我收到多个与 dexMerger
、MultiDex
、Multiple dex files define Landroid/support/v4/...
相关的错误
.
所以我使用 window+O
(导航 --> Class)搜索了该文件。然后我发现 'androidx.appcompat:appcompat:1.0.0-rc01'
和 android.support.v4..
库中使用了相同的 class。所以我试着排除如下 -
implementation('androidx.appcompat:appcompat:1.0.0-rc01') {
exclude module: 'support-v4'
}
我也添加了 multidex true
但没有任何帮助。我读到 AndroidX
看起来它包含许多类似于支持库的 classes。在这种情况下应该怎么办?我有最新版本的 Android Studio,我的 compileSdkVersion
是 28
。我的所有依赖项都是最新的。
我已经添加了 multidex
依赖项并且我的应用程序 class 也在扩展 MultiDexApplication
.
仅仅设置 multidex true
是不够的。
您需要先包含此依赖项
implementation 'com.android.support:multidex:1.0.3'
然后
defaultConfig {
...
multiDexEnabled true
}
然后在你的清单中
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
尝试
android {
dexOptions {
preDexLibraries = false
}
}
使用以下命令检查哪个依赖项有重复项class
./gradlew app:dependencies
然后像这样排除模块
{
exclude group: 'com.android.support'
}
希望这能解决您的问题! 如果您有任何问题,请告诉我!