环境:
5.2.0.300
问题描述:
在整合最新的华为SDK之后,我们的CI失败了,因为Android 没有通过。
我们稍微深入一下这个报告,它给了我们堆栈跟踪中的错误:
org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests > testDecodeEncodePublicKeyQT3P[V1836A - 10] FAILED
java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests > testDecodeEncodePrivateKeyQT3P[V1836A - 10] FAILED
java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)这个错误是由com.huawei.hms:hwid:5.2.0.300引入的。
因此,毫无疑问,如果集成了hwid:5.2.0.300**,,那么您的CI/CD将无法通过单元测试。**
问题原因:
经过深入的研究,华为的SDK引入了org.bouncycastle:bcpkix-jdk15on:1.64作为依赖,在这个版本中,它错误地将单元测试包含到他们的库中,并在1.65中进行了修复。
检查https://github.com/bcgit/bc-java/issues/661
因此,我恳请华为将org.bouncycastle:bcpkix-jdk15on 1.65 升级到1.65或以上,如果你有代码库的话,是一份工作。
黑客解决方案:
为了使我们的CI像预期的那样工作,现在我们正在这样做,如果其他人有同样的问题:
dependencies {
// ......... something else what we need
huaweiApi ('com.huawei.hms:hwid:5.2.0.300') {
// Huawei include org.bouncycastle 1.64 version
// In this version, the source code include unit test file in library, which will cause our CI Fail.
exclude group: 'org.bouncycastle', module: "bcprov-jdk15on"
}
huaweiApi 'org.bouncycastle:bcpkix-jdk15on:1.65'
}发布于 2021-05-18 03:22:33
正如团队确认的那样,最新的Account SDK版本已经更新到5.3.0.301。在此版本中,将删除引入的org.bouncycastle:bcpkix-jdk15on。您还可以将最新的Account SDK版本集成到项目中。
有关5.3.0.300新特性的更多细节,请参阅https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/version-change-history-0000001050048874?ha_source=hms1
https://stackoverflow.com/questions/67069878
复制相似问题