如何移除jar包签名

编译项目遇到SHA-256 digest error for org/bouncycastle/LICENSE.class

经过:从Gradle7.x升级到Gradle 8.x遇到如上错误

解决方案:

  • ./gradlew app:dependencies 找到是谁依赖了bouncycastle
  • 排除大法
    1
    2
    3
      implementation("com.example:some-library:1.0.0") {
    exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
    }
  • 将bouncycastle这个jar包,使用命令:
    • 解开jar包的衣服:jar xf bouncycastle.jar
    • 删除META-INF/.SF META-INF/.RSA META-INF/.DSA(注意保留MANIFEST.MF,不然找不到代码哦)
    • 给jar包穿上衣服 jar cf bouncycastle-nosign.jar *
  • 将我们自己弄出来的没有签名的jar包放进libs目录
  • 运行项目,一切ok!