gpt4 book ai didi

Android 库项目 com.android.dex.DexException : Multiple dex files define Lcom/google/gson/JsonSerializer

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:20 25 4
gpt4 key购买 nike

我正在 Android Studio 中编写一个库项目。我的 gradle 文件包括 gson volley play-services 等...
将我的库嵌入项目时,我得到:

com.android.dex.DexException: Multiple dex files define Lcom/google/gson/JsonSerializer;

有人可以解释一下 gradle 在创建库项目时是如何工作的吗?
我应该如何解释集成我的 SDK 的开发人员,exclude 模块如何工作,以及为什么它在包含我的 aar 的应用程序中不起作用?

最佳答案

有两种情况需要考虑

  • 首先,如果您在 app/build.gradle 中声明了 Gson,请考虑删除它

    依赖关系{ 编译 'com.google.code.gson:gson:2.4'

  • 其次,如果你还没有在你的app/build.gradle中声明它您可能需要调查哪些库重复声明 Gson依赖。然后您可以从该库中排除 Gson。您可能需要查看此 Excluding transitive dependencies

在这里,我将提供一个从库中排除 appcompat-v7 的例子

运行此命令以查看依赖关系图表树

./gradlew app:dependencies

它将像下面的示例一样显示依赖关系树

|    \--- com.mikepenz:materialdrawer:4.6.3
| +--- com.android.support:appcompat-v7:23.1.1 (*)
| +--- com.android.support:recyclerview-v7:23.1.1 (*)
| +--- com.mikepenz:materialize:0.5.1
| | \--- com.android.support:appcompat-v7:23.1.1 (*)
| +--- com.mikepenz:iconics-core:2.5.3
| | \--- com.android.support:appcompat-v7:23.1.1 (*)
| \--- com.android.support:support-annotations:23.1.1

在您发现库声明了重复的依赖项之后。您可以开始排除它。

dependencies {
compile("com.mikepenz:materialdrawer:4.6.3") {
exclude module: 'appcompat-v7'
}
}

关于Android 库项目 com.android.dex.DexException : Multiple dex files define Lcom/google/gson/JsonSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38875059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com