一、问题形容及操作
利用集成 Health Kit SDK 后,在华为手机上进行登录受权时,返回错误码 50063。
1、查看相干错误码。‘50063’在 Health Kit 错误码中的形容是“装置的 HMS Core APK 版本不匹配,无奈调用接口。”提供的解决方案是“请装置最新版本的 HMS Core(APK)后,再调用接口”。
2、依据文档中提供的解决方案,卸载了手机设施中的 HMS Core APK,从新更新到最新版本后,仍返回错误码 50063。
3、调用 HuaweiApiAvailability#isHuaweiMobileServicesAvailable(Context context) 接口,检测 HMS Core(APK)在设施上是否胜利装置和集成时,返回后果 1,示意在设施上没有发现 HMS Core(APK),预期后果应该返回 0。
4、应用‘adb logcat > log.txt’获取残缺日志,进行日志剖析。
二、起因剖析
在日志中筛选“HMSSDK_”,能够看到要害日志“E/HMSSDK_X509CertUtil: Not include alias 052root”。
依据日志显示,是因为 hmsrootcas.bks 证书中没有发现 052root 信息,导致校验失败,从而引起登录失败。失常状况下,如果应用 Maven 仓集成 SDK 时,此 hmsrootcas.bks 证书文件会在打包时主动放到 apk 的 assets 目录下,个别不会呈现问题。
如果没有日志,也能够借助工具查看 APK 中的 hmsrootcas.bks 是否蕴含 052root:
三、解决方案
1、查看我的项目工程中的 assets 资源文件目录中是否存在 hmsrootcas.bks 文件,如果存在的话,能够删除,在打包时 hmsrootcas.bks 会主动打包到 apk 中。
2、如果 assets 资源文件目录中不存在 hmsrootcas.bks 文件或删除后,仍呈现此问题,能够手动集成蕴含 052root 信息的 bks 文件,具体操作如下:
1)拜访链接,下载 SDK 文件。
2)解压下载的文件,依据以下门路找到 bks 文件,并集成到我的项目主工程下的 assets 中:hmssdk-eclipse-6.9.0.300\Security-ssl\assets。仅搁置 hmsrootcas.bks 文件即可。
3)从新编译我的项目。
更多接入华为静止衰弱服务常见问题,请参见 FAQ
理解更多详情 >>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~