【问题标题】:Huawei SDK hwid failed project unit test华为SDK hwid项目单元测试失败
【发布时间】:2021-07-08 05:06:26
【问题描述】:

环境:

  • Android 工作室
  • 硬件:5.2.0.300
  • CI

问题描述:

在我们集成最新的华为 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或以上。如果你有代码库,这是一个工作。

破解解决方案:

为了使我们的 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'
}

【问题讨论】:

  • Sorry@Kael luo,研发团队确认这是一个新问题,将在以后的版本中进行优化。感谢您的反馈。-
  • @shirley 感谢您的快速回复,并期待修复。很棒的团队。

标签: android kotlin account huawei-mobile-services huawei-account


【解决方案1】:

正如团队所确认的,最新的 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

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多