uni-app 安卓云打包签名不一致

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app 安卓云打包签名不一致

操作步骤:

  • 正常打包

预期结果:

  • 微信登录正常授权

实际结果:

  • 微信登录并未正确授权,一直提示签名不一致

bug描述:

  • 老的包是可以正常使用的,就新版本的包 apk签名不正确,
  • uni.login调微信,返回-100, “errMsg”: “login:fail send”,
    {
    "errMsg": "login:fail send",
    "errCode": -100,
    "code": -100,
    "innerCode": -6
    }

项目信息

信息类别 内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 111
HBuilderX类型 正式
HBuilderX版本 3.99
手机系统 Android
手机系统版本 Android 11
手机厂商 华为
手机机型 vivo
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

5 回复

换证书了吧


没有,keystore文件用的都是一样的,但是打出来的包,签名和线上就是不一样的

@DCloud_heavensoft 大佬看下
和上面是一个问题,同样的证书文件,打包后md5不一样,andriod 用 genSinature 读取,md5 和线上不一样(微信和线上的包md5是一样的)。而ios是正常的

在使用 uni-app 进行安卓云打包时,如果出现签名不一致的问题,通常是由于以下几个原因导致的。下面我将详细解释可能的原因及解决方法:


1. 未使用相同的签名文件

在云打包时,如果你没有上传相同的签名文件(.jks.keystore),每次打包都会生成一个新的默认签名文件,导致签名不一致。

解决方法:

  • 在云打包时,手动上传相同的签名文件。
  • 在 HBuilderX 中,点击发行 -> 原生App-云打包,勾选使用自有证书,然后上传你的 .jks.keystore 文件,并填写对应的别名(alias)、密码等信息。

2. 本地调试和云打包的签名不同

如果你在本地调试时使用的是调试签名(debug keystore),而在云打包时使用的是发布签名(release keystore),会导致签名不一致。

解决方法:

  • 确保本地调试和云打包时使用相同的签名文件。
  • 如果需要调试,可以在云打包时上传调试签名文件。

3. 签名文件信息填写错误

在上传签名文件时,如果别名(alias)、密码等信息填写错误,会导致签名失败或不一致。

解决方法:

  • 检查签名文件的别名、密码等信息是否填写正确。
  • 可以通过以下命令查看签名文件的信息:
    keytool -list -v -keystore your_keystore_file.jks

4. 未保存签名文件

如果你没有保存签名文件,每次打包时都会生成一个新的默认签名文件。

解决方法:

  • 生成签名文件后,务必保存好,并在后续打包时使用相同的文件。
  • 可以使用以下命令生成签名文件:
    keytool -genkey -alias your_alias -keyalg RSA -keysize 2048 -validity 36500 -keystore your_keystore_file.jks
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!