Multiple dex files define <my package>/BuildConfig, can't find the cause:

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 08:34:43

In my case the similar error happened because there were 2 modules with the same package name in AndroidManifest.xml files. Using different package names in the modules solved the problem.

Also the same thing happens when a library jar is being included twice (or more times) in several modules, as a dependency. In this case error message says about duplicate configs named after that library's package name. I solved it with including the library as a dependency in one module, and the second module had in dependencies the first module.

iceman

Add this to your build.gradle:

android {
    dexOptions {
        preDexLibraries = false
    }
}

I suppose this way there is no conflicting BuildConfig.java.

EDIT:

Why the above works: Android studio will first dex the libraries before dex-ing the app module. If you have a library module with a same package name as your app module, this 'pre-dexing' will result in creation of a BuildConfig.java in the same package as for the app.

Not 'pre-dexing' will slow down your build process a bit so I suggest that you change your library's package name instead.

For me, simply doing a clean on the project cleared this error.

I was getting this problem signing my instant apk. The problem:

bad module/app/manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.stackoverflow">

good: module/app/manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.stackoverflow.app">

Just adding the .app at the end of the package name

If using NewRelic, then update it to at least 5.21.1.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!