今天编译项目,遇到了一个问题,如下:
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Program type already present: com.xxx.xxx.BuildConfig
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
...
从日志来看,是BuildConfig重复了,导致dex merge失败,仔细检查项目,发现是主module的包名和子module设置成一样的,导致生成了两个同样包名的BuildConfig,改一下子module的包名即可,其他类似于这样的问题,可能也是由于lib重复,检查有无重复的lib包,再相应的删除同样的依赖包即可.