HarmonyOS 鸿蒙Next中X86模拟器调试账号登录功能时报错:code2300006

HarmonyOS 鸿蒙Next中X86模拟器调试账号登录功能时报错:code2300006 我参考了华为账号登录和华为认证登录的文档。

使用华为账号登录功能时报错loginWithHuaweiID fail:1001500001 Failed to check the fingerprint of the app bundle.Incomplete response information from gateway.

使用AGC的认证服务时报错:code2300006。经查看文档是以下可能原因

2300006 域名解析失败

支持设备PhonePC/2in1TabletTVWearableLite Wearable

错误信息

Failed to resolve the host name.

错误描述

服务器的域名无法解析。

可能原因

1.传入的服务器的URL不正确。

2.网络不通畅。

处理步骤

1.请检查输入的服务器的URL是否合理。

2.请检查网络连接情况。

关键是我调用的是官方的API代码,怎么会存在域名解析失败的错误呢,代码都无需设置请求HTTP网址。然后X86模拟器是可以联网的,应该也不存在网络不通的问题?

我最近在写登录认证这一块的代码,确实有点崩,各种登录认证失败才从华为一键登录功能转到AGC的认证功能的,结果发现还是报错。另外模拟器调试和云调试结果有出入。模拟器调试报错指纹认证失败,但是到了云调试(真机)中这个错误不报了,报的是网络错误。总之有没有能够解决登录功能的办法,或者有现有的第三方开发的登录组件能拿来复用的也行


更多关于HarmonyOS 鸿蒙Next中X86模拟器调试账号登录功能时报错:code2300006的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

【修改建议】

  1. 建议配置安全合理的DNS解析地址,例如:114.114.114.114,删除其他DNS配置。
  2. 如果希望通过代理服务器去请求目标服务器,可以参考模拟器网络代理配置
  3. windows操作系统建议将电脑用户名修改为英文或数字。

【背景知识】

  • 错误码1001500001的含义为应用指纹证书验证失败,可能原因:应用的指纹证书未配置或配置错误。 排查定位思路:
    1. Client ID是否配置错误: 检查module type为entry的模块下module.json5中的clientId是否配置错误,请参考配置Client ID。 注意:此处client_id的获取路径为:AGC的常规->应用->OAuth 2.0客户端ID(凭据->Client ID)。 在工程中entry模块的module.json5文件中,新增metadata,配置name为client_id,value为Client ID的值。 错误示例1、client_id在工程里面沒有配置。 错误示例2、client_id的value写到string里面(比如:“value”: “$string:clientId”)也会导致授权报错。 错误示例3、client_id的value里面配置成APP ID,而不是Client ID的值。 错误示例4、module.json5里面配置了多个client_id。
    2. 检查应用的签名证书指纹是否配置正确,可以按照文档里面的添加公钥指纹,检查应用签名。参考文档:(配置应用签名证书指纹)。 错误示例1、AGC上面根本就没有添加公钥指纹。 错误示例2、AGC上面直接添加证书指纹,这个是错误的,在HarmonyOS API 9及以上需要添加公钥指纹。 错误示例3、本地工程里面配置的证书和AGC上面应用的SHA256证书/公钥指纹上面的证书不是同一套。
    3. File -> Project Structure… -> Project -> Signing Configs界面,不能勾选“Automatically generate signature”进行自动签名,需要手动配置签名。 可以按照开发准备里面的说明配置:配置签名信息
    4. 网络问题,可以看下设备网络是否有问题,可以换个网络,比如切换到移动网络或者WIFI下面再试下是否OK。
    5. 在AGC上面,添加公钥指纹(HarmonyOS API 9及以上)后,指纹有一定时间的缓存,不会立刻生效,建议配置完成后等半小时再尝试。
    6. 检查下您的手机是否有修改系统时间,这个不建议修改。 上述步骤排查完成后,还是没有发现问题,可以再做下面的排查: 安装应用后执行(Windows):
      hdc shell bm dump -n 包名 | findstr appId
      
      安装应用后执行(Mac):
      hdc shell bm dump -n 包名 | grep appId
      
      将“appId”中包名下划线后的字符串拷贝到新文件中(文件名可自行定义,例如SHA.txt)再执行下面的命令行即可得到公钥指纹再与AGC上面配置的对比下看是否一致。
      certutil -hashfile F:\\SHA.txt SHA256
      
      对比出来的appId不一致的话,需要重新申请公钥指纹证书配置应用签名指纹证书

模拟器请求网络失败,报错:AxiosError: {“code”:2300006,“message”:“Couldn’t resolve host name”}。 模拟器界面由两部分构成:设备屏幕和工具栏。

  • 设备屏幕:部分模拟了真实设备的显示屏,让开发者可以在模拟环境中对应用进行调试和测试。通过模拟器,开发者可以在不依赖于物理设备的情况下进行开发工作,节省了设备和资源成本。
  • 工具栏:提供了各种调试工具和控制选项,帮助开发者模拟不同的场景和操作,以提高用户的调试效率。

模拟器访问网络利用的是本地计算机的以太网或者WLAN,与本地计算机共享同一网络资源。如出现无法连接网络的情况,请开发者确认本地网络访问是否受到了限制(如使用公司内网)。如果对网络访问进行了限制,则需要在模拟器上配置网络代理。

【问题定位】 根据报错信息可以从以下可能原因排查:

  1. 检查DNS解析地址是否配置正确。
  2. 检查模拟器网络代理是否配置正确。
  3. 如果开发者电脑是windows操作系统,请检查用户名是否为英文。

【分析结论】

  1. 如果DNS解析地址配置不正确,会导致域名无法正确解析到对应的IP地址,从而导致无法访问网站或服务。
  2. 如果开发者开启了VPN,需要模拟器配置相应的代理才能访问网络。
  3. 如果开发者电脑是windows操作系统,中文用户名可能会导致一些软件无法正常使用。

更多关于HarmonyOS 鸿蒙Next中X86模拟器调试账号登录功能时报错:code2300006的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


不正确

你这个看起来像是签名证书的问题,你在appgallery connect中的签名和你本地是同一个吗?对应的权限也申请了吗?

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

系统权限管理指南

权限申请流程

1. 登录系统

  • 使用公司统一账号登录内部管理系统
  • 进入"权限管理"模块

2. 选择权限类型

根据工作需要选择相应的权限类别:

  • 数据访问权限
  • 系统操作权限
  • 管理后台权限
  • 报表查看权限

3. 填写申请表单

按要求填写以下信息:

  • 申请人信息
  • 申请权限范围
  • 使用目的说明
  • 预计使用时间

4. 提交审批

  • 提交给直属主管审批
  • 主管审批通过后转交系统管理员
  • 审批周期:1-3个工作日

注意事项

权限使用规范

  • 仅限工作用途使用
  • 不得转借他人使用
  • 定期检查权限使用情况
  • 离职前需办理权限注销

常见问题

  • 权限申请被拒绝如何处理
  • 权限到期如何续期
  • 权限使用遇到问题联系谁

联系方式

如有疑问,请联系系统管理员:

  • 邮箱:admin@company.com
  • 电话:分机号 1234

改了,还是报2300006错误,

该错误代码2300006通常与鸿蒙Next模拟器网络连接或账号验证配置有关。请检查:

  1. 模拟器网络设置是否正常连通;
  2. 开发者账号是否完成实名认证且与签名文件匹配;
  3. 项目配置中的AppGallery Connect服务是否启用。

确保模拟器系统时间与网络时间同步,清除缓存后重试登录操作。

从你的描述来看,问题主要出现在X86模拟器环境下,错误代码2300006(域名解析失败)和1001500001(指纹校验失败)都与网络配置和模拟器环境限制有关。

关键原因分析:

  1. X86模拟器的网络限制:模拟器可能无法正确解析AGC服务的域名,即使显示网络正常。这通常是因为模拟器的虚拟网络栈与AGC服务域名之间存在兼容性问题。
  2. 指纹校验失败:在模拟器环境下,应用的签名指纹可能与AGC控制台配置的不一致。模拟器使用的调试签名与真机签名不同,导致校验失败。

建议解决方案:

  • 优先使用真机调试:云调试(真机)不报指纹错误,说明真机环境更稳定。建议全程使用真机进行登录功能调试,避免模拟器网络问题。
  • 检查AGC配置
    • 确认AppGallery Connect中已正确配置应用的包名和签名指纹(SHA256)。对于调试版本,需使用调试证书的指纹。
    • 在AGC项目中检查是否启用了认证服务,并确保API调用参数(如client_id)与AGC配置一致。
  • 网络环境排查
    • 虽然模拟器显示联网,但可能存在DNS解析限制。尝试在模拟器中切换网络设置(如使用主机DNS)或重启模拟器网络模块。
  • 第三方组件参考
    • 目前HarmonyOS生态中暂未成熟的开源登录组件可直接复用。建议基于官方Account Kit和AGC认证服务文档实现,重点确保环境一致性。

如果真机调试仍报网络错误,请检查设备网络是否能够正常访问AGC服务域名(如account.cloud.huawei.com),并确认未受企业网络策略拦截。

回到顶部