程序类型已存在:BuildConfig

Ous*_*aki 37 android android-multidex

我正在尝试生成发布版本但由于mutidex问题而无法使用我的项目已启用所有multidex并添加了依赖项

我收到的错误是:

Execution failed for task ':app:transformClassesWithMultidexlistForRelease

Caused by: com.android.build.api.transform.TransformException: Error while generating the main dex list.
Run Code Online (Sandbox Code Playgroud)

和aslo:

Caused by: com.android.tools.r8.errors.CompilationError: Program type already present: com.myapp.BuildConfig
Run Code Online (Sandbox Code Playgroud)

Sag*_*gar 67

您收到此错误的原因是您的库模块与应用程序模块具有相同的程序包名称.

解决方案是更改库模块的包名称.您可以按照此SO中接受的答案进行操作,该答案描述了如何在android studio中更改软件包名称.

  • 如果这对您不起作用,请在重命名库后尝试在 android 项目上执行 `./gradle clean`。 (3认同)

Eri*_*ina 12

我解决了build.gradle在我的应用程序模块中启用 multiDexEnabled 的这个错误:

defaultConfig { 
    ...
    ...
    ...

    multiDexEnabled true
}
Run Code Online (Sandbox Code Playgroud)


Sey*_*dli 9

In my case It was happening when I try to run older project on new installed Android studio The problem solved by running Build->Clean Project


hb0*_*hb0 5

错误:程序类型已经存在:somemodule / BuildConfig

原因

就我而言,我有一个(隐藏的)循环依赖关系,而Android Studio找不到:

  1. testutils/build.gradle 用途 implementation project(':somemodule')

  2. somemodule/build.gradle 有`androidTestImplementation项目(“:testutils”)

  • 在我的情况下,第二个依赖不是必需的,所以我删除了它


小智 5

只需在 android studio 中转到工具>颤振>颤振清洁。它会解决问题。(如果您正在使用颤振)