快速删除 jar 里面的 BuildConfig.class

起因:多个 jar 包里面的 BuildConfig.class 文件导致编译冲突。

方法一:土方法

  • 使用 jar 解包 jar xf xx.jar
  • 删除文件
  • 重新打包 jar cf xx.jar 目录

麻烦和容易出错的地方:

  1. 解包出来的文件夹名字是不固定的
  2. 接报出来的文件夹数量是不固定的

当然可以解压到一个临时文件来做避免这个事情,也可以做得更酷点。看方法二。

方法二:使用 zip -d 直接删除里面的文件

unzip -l fabric.jar | grep "BuildConfig.class" | awk '{printf $4}' | xargs -I {} zip -d fabric.jar {}
  • unzip -l 列出所有文件
  • grep 选出想要的文件
  • 观察输出列,请出 awk 列编辑器
  • xargs -I {} 命令 {} // 替换 {} 位置

你可能感兴趣的:(快速删除 jar 里面的 BuildConfig.class)