uni-app 使用自有证书打包失败 公共的测试证书就可以

uni-app 使用自有证书打包失败 公共的测试证书就可以

开发环境 版本号 项目创建方式
Mac 10.13.6 HBuilderX
# 操作步骤:
- 云打包

# 预期结果:
- 打包成功

# 实际结果:
- 打包失败

## bug描述:
使用自定义证书云打包自定义基座 提示 打包失败,但是使用使用公共测试证书打包又正常

错误信息地址:https://service.dcloud.net.cn/build/errorLog/5f009510-09fd-11ec-9650-9d52d65b2b45  
https://service.dcloud.net.cn/build/errorLog/9734afd0-0a03-11ec-a627-cf9720baa4a5  

简要:  
FAILURE: Build failed with an exception.  

* What went wrong:
Execution failed for task ':app:packageRelease'.  

> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable  
> java.io.IOException: Failed to generate v1 signature  

* Try:  
Run with --debug option to get more log output. Run with --scan to get full insights.  

更多关于uni-app 使用自有证书打包失败 公共的测试证书就可以的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

应该是你证书不支持v1 signature 重新生成一个再试试

更多关于uni-app 使用自有证书打包失败 公共的测试证书就可以的实战教程也可以访问 https://www.itying.com/category-93-b0.html


好的谢谢,我试一下

从错误信息来看,打包失败的原因是 Failed to generate v1 signature,这通常与签名证书(keystore)的配置或格式有关。具体分析如下:

  1. V1签名问题:错误明确指出V1签名生成失败。Android支持两种应用签名方案:V1(JAR签名)和V2(APK签名)。虽然V2更安全,但某些旧版Android设备或特定场景仍需V1签名。你的自有证书可能因以下原因导致V1签名失败:

    • 证书别名或密码错误:在提交自有证书时,别名(alias)、密钥库密码(storePassword)或密钥密码(keyPassword)必须完全匹配创建证书时设置的信息,包括大小写。请仔细核对。
    • 证书有效期问题:Android要求应用签名证书的有效期必须超过25年。公共测试证书通常满足此要求,但你的自有证书可能有效期不足,导致V1签名校验失败。
    • 证书格式或算法不兼容:确保证书是标准的JKS或PKCS12格式。某些工具生成的证书可能使用了不常见的算法或参数,与云打包环境的签名工具不兼容。
  2. 与公共测试证书的对比:公共测试证书由DCloud预置,其参数(如有效期、算法)完全兼容云打包环境,因此能成功。这进一步表明问题出在自有证书的配置或内容上。

建议操作

  • 重新生成证书:使用JDK的keytool命令重新生成一个符合规范的证书。示例命令:
    keytool -genkey -alias myalias -keyalg RSA -validity 36500 -keystore my.keystore
回到顶部