今天在集成SM2国密算法进Android的时候引入BC包遇到这个问题,花了几个小时终于解决了,记录下来。
问题:
引入以下jar包之后报“ Failed to transform "xxx.jar" using Jetifier”
implementation 'org.bouncycastle:bcprov-jdk15on:1.65'
gradle相关参数如下
-
根目录 build.gradle
classpath 'com.android.tools.build:gradle:3.5.3'
-
gradle/wrapper/gradle-wrapper.properties中
distributionUrl=services.gradle.org/distributio…
解决方案
1. 调整gradle版本为
-
根目录 build.gradle
classpath 'com.android.tools.build:gradle:3.6.1'
-
gradle/wrapper/gradle-wrapper.properties中
distributionUrl=services.gradle.org/distributio…
调整完之后Jetifier这个问题解决,又报了另外一个NDK错,故没有采用此方法
No version of NDK matched the requested version 20.0.5594570
2. 降级jar包到老版本
gradle版本不变,降级BC版本到1.6.4,该问题也解决了
implementation 'org.bouncycastle:bcprov-jdk15on:1.64'