记一次打包debug

今天一位同事打包的时候发现,打指定渠道包时使用eclipse打包会报错Unable to execute dex: Multiple dex filesdefine
报错显示的信息是BuildConfig类出现重复,使用AS解开jar包发现确实有这个BuildConfig类,但是没有找到和它重复的类文件。查阅安卓资料发现打包时会自动生成BuildConfig类文件,然而由于引用的jar包中早已存在该文件就导致了上述报错。只需要把这个类文件删除就可以解决问题,但是这个类文件是从哪里冒出来的,再次查阅资料发现原来AS导出jar的时候由于种种原因,会连带一些杂质一起导出就是各种BuildConfig文件和R.class文件。
解决方案:在模块的gradle中指定需要打包的类,排除无用的类就可以了。只需要加入下面几行代码就可以剔除无用的类文件

from file('build/intermediates/classes/release')
archiveName = 'xxx.jar'
destinationDir = file('../libs/')
exclude "**/**/BuildConfig.class"
exclude "**/**/BuildConfig\$*.class"
exclude "**/R.class"
exclude "**/R\$*.class"
include "**/*.class"

完结撒花~~~~
感谢下面几位前辈勇于探索和无私奉献的精神
https://blog.csdn.net/lvxiangan/article/details/71601451
https://blog.csdn.net/edisonchang/article/details/51296265

猜你喜欢

转载自blog.csdn.net/thrt520asd/article/details/81219537
今日推荐