首页 > 其他分享 >uniapp如何给空包进行签名操作

uniapp如何给空包进行签名操作

时间:2023-07-06 17:22:58浏览次数:45  
标签:keystore uniapp 证书 空包 jarsigner apk 签名

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

首先安装sdk

https://www.oracle.com/java/technologies/downloads/

正常下一步即可~
安装完毕后,进入在sdk根目录执行cmd

C:\Program Files\Java\jdk-18.0.1.1\bin

 

生成keystore

例:

keytool -genkey -alias tianan -keyalg RSA -validity 36000 -keystore d:\tianan.keystore

 

  • tianan:证书别名

  • 36000:证书有效期(一般默认就好100年)

  • d:\tianan.keystore:证书存放地址

这里,证书就生成成功了~

记住 证书别名!密码!
然后,打包uniapp时选择自定义证书

打包时填写对应信息~
完成后~上传至平台
如果平台需要空包签名请继续往下看:

1.准备签名证书2.要签名的空包

第一步:将空包复制到此文件目录下

还是 C:\Program Files\Java\jdk-18.0.1.1\bin 目录 :

弟二步:smd 运行该目录

输入以下命令:

D:\Test.keystore:证书地址
D:\qianming\meizu\MeizuEmpty-release-unsigned.apk:生成的空包地址
MeizuEmpty-release-unsigned.apk 此目录下的空包
jarsigner -verbose -keystore D:\Test.keystore -signedjar D:\qianming\meizu\MeizuEmpty-release-unsigned.apk MeizuEmpty-release-unsigned.apk android
注意:
文件夹和文件不能带空格! 
生成的已签名空包名最好和下载的待签名空包名一样!

然后,回车输入密码(就是生成签名证书时所设置的密码)

出现这个,说明签名空包成功~

如果想查看具体的签名信息请输入以下命令:

keytool -list -v -keystore D:\Test.keystore

 问题处理:

jarsigner: 找不到app的证书链——Android 应用认领

一、jarsigner: 找不到app的证书链

jarsigner: 找不到app的证书链。app必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。

解决方案:

jarsigner -verbose -keystore keystore文件 -signedjar 签名以后的apk名称 要签名的apk keystore中的别名

在进行签名的时候报错:

必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目

根据oppo 应用开放平台 空包签名帮助文档描述

jarsigner工具签名apk的命令格式如下:

jarsigner -verbose -keystore [您的签名存放路径]-signedjar [签名后的文件名] [未签名的文件名] [您的证书名称]
jarsigner -verbose -keystore android.keystore -signedjar OppoSignVerify_signed.apk OppoSignVerify.apk android.keystore

真正的原因是:最后应该写的是 keystore中的别名  而不是keystore文件,不知道为什么oppo开放平台下载的 空包签名帮助文档写的是  keystore文件 ???难道这里有坑。。。。

最后将 keystore文件 改为 签名文件 别名,重新签名空包成功,如图下:

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

标签:keystore,uniapp,证书,空包,jarsigner,apk,签名
From: https://www.cnblogs.com/smileZAZ/p/17532775.html

相关文章

  • Keytool 自签名证书,让浏览器信任证书
    背景:CA机构的证书要花钱,客户不想花钱又需要ssl。相关工具:keytool,openssl可以生成自签名证书,个人使用的是keytool操作系统:Mac,Chrome(版本114.0.5735.198(正式版本)(arm64)),Safari(版本16.5.1(18615.2.9.11.7)),FireFox(115.0(64位))需求:多IP集群情况下,能够使用一份自签名证书。结果:......
  • 什么是数字签名?
    数字签名是一种用于验证数据的完整性和身份真实性的技术。 它通过使用私钥对数据进行加密的方式,确保数据在传输过程中没有被篡改,并且可以确认数据的发送方是可信的。 数字签名的过程可以简单概括为以下几个步骤: 1.数据准备:发送方准备要传输的数据。 2.数据摘要生成......
  • C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704
    C#.NETFramework使用BC库(BouncyCastle)RSA私钥签名公钥验签(验证签名)ver:20230704 环境说明:.NETFramework4.6的控制台程序 。 2020年以后,有部分PKCS8私钥(openssl生成)无法用RsaUtil.LoadPrivateKey(strPriPkcs8, "PKCS8")来解析 (https://www.cnblogs.com/runliuv......
  • 微信小程序uniapp解决真机顶部自定义菜单显示(手机状态栏覆盖)
    1.在data里面加入参数statusBarHeight:uni.getSystemInfoSync().statusBarHeight,//状态栏高度2.对返回按钮处理<!--空出状态栏高度--><view:style="'height:'+statusBarHeight+'px;'"></view><!--返回按钮--><di......
  • 2023-07-03 uniapp小程序端报错:TypeError: eval is not a function
    完整报错:ErrorinonLoadhook:"TypeError:evalisnotafunction" onLoad钩子中的错误:“TypeError:eval不是函数”原因:代码里使用了eval函数,小程序端不支持该函数,h5端和app(Android)端支持。解决方案:小程序端采取替换eval方案。注意:eval函数被认为是不安全的函数,存在脚本代......
  • 2023-07-03 禁止uniapp之app端上下滑动出现的回弹效果:"app-plus": {"bounce": "none"}
    前言:uni项目打包到app(以Android为例)上运行,上下滑动页面的时候会出现一个半圆,这就是所谓的退弹,如需关闭可在pages.json文件中的globalStyle中添加一下代码即可:"app-plus":{"bounce":"none"}uniapp关于app-plus的更多配置可参考官网:https://uniapp.dcloud.net.cn/colloc......
  • PowerShell脚本数字签名错误
    1.以管理员身份打开powershell,使用get-executionpolicy-list查看策略设置2.将所有的scope的值为:undefined具体设置的命令是:Set-ExecutionPolicy-ExecutionPolicyundefined-ScopeLocalMachine3.找到报错中提示中有问题的xxx.ps1脚本,选中该脚本,右键选择属性,然后勾选“解......
  • 小程序、APP、WEB、H5、UNIAPP通用的canvas导出图片,html转为图片多端通用版
    小程序、APP、WEB、H5、UNIAPP通用的canvas导出图片,html转为图片多端通用版 <canvasv-show="zhangdanImageShow" style="width:380px;height:500px;background-color:white;border-radius:5px;"canvas-id="postCanvars" id="postCanvars"&......
  • 多端全栈项目实战:大型商业级代驾业务全流程落地SpringCloudAlibaba+Mysql+Redis+Docke
    多端全栈项目实战:大型商业级代驾业务全流程落地SpringCloudAlibaba+Mysql+Redis+Docker+Uniapp+Vue3随着移动互联网的快速发展和智能手机的普及,代驾服务成为了一个日益火热的行业。在这个行业中,如何构建一个具备商业级可靠性和扩展性的代驾业务系统成为了关键问题。本文将介绍一......
  • uni.app 签名 canvas 变成图片 上传图片 移动端 h5
     使用canvas 即脚本绘制图形<template> <view> <viewclass="wrapper"> <viewclass="handBtn"> <button@click="retDraw"class="delBtn">重写</button> <!--<button@click="......