快速删除 jar 里面的 BuildConfig.class
起因:多个 jar 包里面的 BuildConfig.class
文件导致编译冲突。
方法一:土方法
- 使用 jar 解包
jar xf xx.jar
- 删除文件
- 重新打包
jar cf xx.jar 目录
麻烦和容易出错的地方:
- 解包出来的文件夹名字是不固定的
- 接报出来的文件夹数量是不固定的
当然可以解压到一个临时文件来做避免这个事情,也可以做得更酷点。看方法二。
方法二:使用 zip -d 直接删除里面的文件
unzip -l fabric.jar | grep "BuildConfig.class" | awk '{printf $4}' | xargs -I {} zip -d fabric.jar {}
- unzip -l 列出所有文件
- grep 选出想要的文件
- 观察输出列,请出 awk 列编辑器
- xargs -I {} 命令 {} // 替换 {} 位置
</div>
</div>
</div>