gpt4 book ai didi

android - 多个 dex 文件定义 BuildConfig

转载 作者:搜寻专家 更新时间:2023-11-01 07:53:53 24 4
gpt4 key购买 nike

我正在将一个项目从 Eclipse 迁移到 Android Studio,但遇到了问题。我有很多在不同项目之间共享的库模块,其中几个库模块具有相同的包名,所以我最终遇到以下错误:

AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexException: Multiple dex files define Lcom/foo/bar/BuildConfig;","position":{},"original":"com.android.dex.DexException: Multiple dex files define Lcom/foo/bar/BuildConfig;"}

我的依赖关系很好,所以这不是问题:

compile - Classpath for compiling the main sources.
+--- project :project1
| +--- com.mixpanel.android:mixpanel-android:4.6.0
| \--- com.google.android.gms:play-services-gcm:7.5.0
| \--- com.google.android.gms:play-services-base:7.5.0
| \--- com.android.support:support-v4:22.0.0
| \--- com.android.support:support-annotations:22.0.0
+--- project :facebook
| \--- com.parse.bolts:bolts-android:1.1.4
+--- com.google.android.gms:play-services-location:7.5.0
| \--- com.google.android.gms:play-services-maps:7.5.0
+--- project :project2
| \--- project :project3
| \--- project :project4
| \--- project :project5
+--- project :project6
\--- project :project7

但是,当我在我的目录中搜索 BuildConfig.java 时,我得到以下结果:

./project1/build/generated/source/buildConfig/androidTest/debug/com/foo/bar/test/BuildConfig.java
./project1/build/generated/source/buildConfig/debug/com/foo/bar/BuildConfig.java
./project1/build/generated/source/buildConfig/release/com/foo/bar/BuildConfig.java
./project5/build/generated/source/buildConfig/androidTest/debug/com/foo/bar/test/BuildConfig.java
./project5/build/generated/source/buildConfig/debug/com/foo/bar/BuildConfig.java
./project5/build/generated/source/buildConfig/release/com/foo/bar/BuildConfig.java
./project4/build/generated/source/buildConfig/androidTest/debug/com/foo/bar/test/BuildConfig.java
./project4/build/generated/source/buildConfig/debug/com/foo/bar/BuildConfig.java
./project4/build/generated/source/buildConfig/release/com/foo/bar/BuildConfig.java

看来问题是我有几个共享命名空间的模块。有什么办法可以解决这个问题吗?我不想更改其他项目的命名空间。

在 cargo cult 编程的经典展示中,我尝试添加:

dexOptions {
preDexLibraries = false
}

到我应用程序的 build.gradle 中的 android block ,但这只会让情况变得更糟,并且构建开始提示其他依赖项。

有什么方法可以解决这个重命名包名称的问题吗?

最佳答案

我通过更改我的子模块 list 中的包解决了这个问题,直到那时我的所有库都具有相同的名称。

关于android - 多个 dex 文件定义 BuildConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30928881/

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