背景
开发者在利用中集成 HMS Core 局部服务时,android sdk 以及 flutter 等跨平台 sdk,会呈现编译打包后,运行报 6003 错误码的状况。依据查问能够得悉,错误代码 6003 示意证书指纹配置不统一,次要是生成的包(例如安卓 apk)的签名,与华为开发者平台上利用设置外面配置的不统一。
起因
- 未依照开发文档,在 AppGallery Connect 利用设置配置签名 SHA256
- 曾经在开发者平台上配置 SHA256,然而和理论打包生成 apk 签名的 SHA256 不统一。
解决办法
- 依照官网文档配置 SHA256 即可:
留神:增加 SHA256 之后,须要从新下载 agcconnect.json 文件更新到工程,从新生成利用 apk。
- 能够间接获取打包生成的 apk 签名的 SHA256,增加配置到 AppGallery Connect 利用设置配置下,而后从新下载 agcconnect.json 文件更新到工程,从新生成利用 apk。
开发者能够应用以下任意一种形式获取 apk 指纹并进行比拟,确保它是雷同的:
形式一:jarsigner
命令示例:jarsigner -verbose -verify MyAPK_base_v11.0.apk > MyAPK_info.txt
查看 MyAPK_info.txt 找到 ”.RSA” 文件的门路,而后应用以下命令 解析.RSA
unzip -p MyAPK_base_v11.0.apk META-INF/BNDLTOOL.RSA | keytool -printcert
后果:
Certificate fingerprints:
SHA1: D0:88:29:99:94:C3:72:44:EA:CF:B1:6B:09:3E:01:95:FE:E4:45:BE
SHA256: EF:68:A7:0A:3A:47:F8:DD:46:58:52:EA:E2:59:AE:D6:1A:43:38:D8:14:26:05:9E:D3:99:C2:D1:F6:34:D9:DE
Signature algorithm name: SHA1withRSA (weak)
Subject Public Key Algorithm: 1024-bit RSA key (weak)
形式二:apksigner.bat
命令示例:(apksigner.bat 通常位于 /android/build-tools 文件夹中)
apksigner.bat verify –print-certs MyAPK_base_v10.2.6-8569.apk
后果:
Signer #1 certificate DN: CN=Michael Smith, OU=My Org, O=A Team, L=Okemos, ST=Michigan, C=US
Signer #1 certificate SHA-256 digest: ef68a70a3a47f8dd465852eae259aed61a4338d81426059ed399c2d1f634d9de
Signer #1 certificate SHA-1 digest: d088299994c37244eacfb16b093e0195fee445be
Signer #1 certificate MD5 digest: 68710e87d99e7f946958db33d3fcf13c
由此可获取到打包的签名 SHA256 为:
EF:68:A7:0A:3A:47:F8:DD:46:58:52:EA:E2:59:AE:D6:1A:43:38:D8:14:26:05:9E:D3:99:C2:D1:F6:34:D9:DE
将其与 AppGallery Connect 中进行比照 SHA-256。如果不存在,就增加 SHA256(同一个利用能够增加多个 SHA256),而后须要从新下载 agcconnect.json 文件更新到工程,从新生成利用 apk。
如果签名 SHA256 增加配置统一后仍旧报 6003 谬误,则须要开发者在本人设施的 Apps 页面中找到 HMS Core (APK) 并革除缓存,重启应用程序后再次执行之前的操作。这是 HMS Core (APK) 可能会缓存签名文件而导致的。
理解更多详情 >>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~