环境信息:
- HBuilderX 版本:5.15
- 项目类型:uni-app
- 平台:Android
- 打包方式:云打包(已测试传统打包与快速安心打包)
- 微信登录配置:manifest 可视化界面中已启用 OAuth -> 微信登录
- 微信 appid:wxc6571fbfa1cdc105
问题现象:
同一最小 uni-app 工程,在 Android 真机调试下调用:
uni.login({ provider: 'weixin' })
可以成功返回 login:ok 和 authResult;
但同一工程打成 Android 正式 APK 后,调用同样代码返回:
{
"errMsg": "login:fail 业务参数配置缺失,https://ask.dcloud.net.cn/article/282",
"code": -7
}
真机调试返回示例:
{
"authResult": {
"openid": "oRrdQt4Ogq4cWxk0Yhoq_XolPUVc",
"access_token": "",
"expires_in": 7200,
"refresh_token": "",
"scope": "snsapi_userinfo"
},
"errMsg": "login:ok"
}
正式包返回示例:
{
"errMsg": "login:fail 业务参数配置缺失,https://ask.dcloud.net.cn/article/282",
"code": -7
}
最小复现说明:
已创建最小复现工程,工程中只保留:
- manifest 中启用 OAuth -> weixin
- 一个按钮调用 uni.login({ provider: 'weixin' })
- 展示调用返回结果
已去掉:
- 后端接口
- 业务登录态
- 支付
- 广告
- 业务组件及其它逻辑
也就是说,最小工程中没有任何业务代码干扰,仍然可以稳定复现:
- 真机调试成功
- 正式包失败
当前配置确认:
- AppID 已有效
- Android 平台信息已录入
- Android 包名为:uni.app.UNI02BE0DE
- 使用本地自有证书打包
- 开发者中心中 Android 平台已补充:
- SHA1
- MD5
- SHA256
- 微信登录已在 manifest 可视化界面中勾选启用
- 微信 appid 已正确填写
已排除项:
- 不是后端接口问题,因为最小工程未接后端
- 不是业务登录逻辑问题,因为最小工程只调用 uni.login
- 不是主项目复杂代码导致,因为最小工程也可复现
- 不是微信完全不可用,因为真机调试下可以返回 login:ok 和 authResult
- 不是单一打包方式问题,因为已测试不同云打包方式
怀疑方向:
更像是 Android 正式打包环境下,微信登录所需业务参数/原生配置未正确注入,导致 uni.login 在正式包中直接返回 code -7。
希望官方协助确认:
- code -7“业务参数配置缺失”在 Android 正式包场景下,具体缺失的是哪一类参数
- 当前 HBuilderX 5.15 / uni-app Android 正式包微信登录是否存在已知问题
- 在开发者中心、云打包配置或 manifest 配置中,是否还需要补充额外参数
- 为什么真机调试成功,而正式包同样代码失败
- 是否能提供更明确的排查方式或日志定位方法