HarmonyOS鸿蒙Next中调试debug下华为获取匿名手机号成功,但是发行到应用市场的release版本返回错误

HarmonyOS鸿蒙Next中调试debug下华为获取匿名手机号成功,但是发行到应用市场的release版本返回错误

// 创建授权请求,并设置参数 const authRequest = new authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest(); // 获取匿名手机号需传quickLoginAnonymousPhone这个scope,传参之前需要先申请“华为账号一键登录”权限 authRequest.scopes = [‘quickLoginAnonymousPhone’]; // 用于防跨站点请求伪造 authRequest.state = util.generateRandomUUID(); // 一键登录场景该参数只能设置为false authRequest.forceAuthorization = false; const controller = new authentication.AuthenticationController(); try { controller.executeRequest(authRequest).then((response: authentication.AuthorizationWithHuaweiIDResponse) => { // 获取到UnionID、OpenID、匿名手机号 GlobalDialogUtils.hideLoading(GlobalDialogType.LoadingDialog); const unionID = response.data?.unionID; const openID = response.data?.openID; const anonymousPhone = response.data?.extraInfo?.quickLoginAnonymousPhone as string; if (anonymousPhone) { hilog.info(0x0000, ‘testTag’, ‘Succeeded in authentication.’); this.quickLoginAnonymousPhone = anonymousPhone; console.info(unionID: ${unionID} openID: ${openID} anonymousPhone: ${anonymousPhone}); this.showLoginType = LOGIN_TYPE.LOGIN_HUAWEI; return; } hilog.info(0x0000, ‘testTag’, ‘Succeeded in authentication. AnonymousPhone is empty.’); // 未获取到匿名手机号需要跳转到应用自定义的登录页面 }).catch(async (error: BusinessError) => { await GlobalDialogUtils.hideLoading(GlobalDialogType.LoadingDialog); this.dealAllError(error); }) } catch (error) { this.dealAllError(error); }

release版本返回错误码:1001500001 - Failed to check the fingerprint of the app bundle. 这种是什么原因导致的?


更多关于HarmonyOS鸿蒙Next中调试debug下华为获取匿名手机号成功,但是发行到应用市场的release版本返回错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

提示1001500001是应用指纹证书校验失败,按文档再检查下下面两项

  1. 检查module type为entry的模块下module.json5中的client_id是否配置或配置的值是否正确,参考配置Client ID。

  2. 检查AGC上应用的指纹证书,详情请见添加公钥指纹。
    文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/account-api-error-code-V5#section1581681312511

更多关于HarmonyOS鸿蒙Next中调试debug下华为获取匿名手机号成功,但是发行到应用市场的release版本返回错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,调试模式下获取匿名手机号成功,但在发布到应用市场的release版本返回错误,可能是由于以下原因:

  1. 签名差异:调试模式和release版本的签名不同,可能导致某些API权限或认证失败。确保release版本的签名与调试模式一致,并在华为开发者联盟中正确配置。

  2. API权限配置:release版本可能需要额外的权限或配置。检查config.json文件中是否正确配置了匿名手机号相关的权限,如ohos.permission.READ_PHONE_STATE

  3. 混淆配置:release版本可能启用了代码混淆,导致某些API调用失败。检查build.gradleproguard-rules.pro文件,确保相关API不被混淆。

  4. 环境差异:调试模式和release版本运行的环境不同,可能导致某些功能异常。确保release版本在真机上的运行环境与调试模式一致。

  5. API调用限制:某些API在release版本中可能有调用限制或需要额外的认证。检查华为开发者联盟中相关API的使用说明,确保release版本符合要求。

  6. 日志缺失:release版本可能缺少调试日志,导致问题难以定位。在release版本中增加必要的日志输出,便于排查问题。

  7. 版本兼容性:确保使用的SDK版本与鸿蒙Next系统版本兼容。某些API可能在特定系统版本中存在兼容性问题。

  8. 网络配置:release版本可能由于网络配置问题导致API调用失败。检查网络配置,确保release版本能够正常访问相关服务。

  9. 证书配置:确保release版本的证书配置正确,且在华为开发者联盟中进行了正确的关联。

  10. API调用频率:某些API在release版本中可能有调用频率限制。检查API调用频率,确保不超过限制。

通过以上步骤,可以排查并解决release版本中获取匿名手机号返回错误的问题。

在HarmonyOS鸿蒙Next中,调试(debug)模式下成功获取匿名手机号,但在发布到应用市场的Release版本中返回错误,可能的原因包括:

  1. 签名问题:Release版本使用了不同的签名证书,导致华为服务无法正确验证应用身份。请确保调试和发布版本使用相同的签名证书。

  2. 权限配置:Release版本可能缺少必要的权限或配置。检查config.json文件,确保所有权限和服务配置正确。

  3. ProGuard/R8优化:代码混淆可能导致某些类或方法被移除或重命名。在proguard-rules.pro中添加相关规则,保留必要的类和方法。

  4. API Key/Secret:确保在Release版本中正确配置了华为服务的API Key和Secret。

  5. 日志级别:Release版本可能禁用了详细日志,增加日志输出以帮助定位问题。

  6. 网络环境:确保Release版本在真实网络环境下能够正常访问华为服务。

建议检查上述问题,并进行相应调整。

回到顶部