ionic 项目签名

Posted 朝阳升

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ionic 项目签名相关的知识,希望对你有一定的参考价值。

一.ionic 自动签名的好处与坏处(ionic build android/ios)

 好处在于:可以直接安装手机上进行安装测试,也可以上传android或者ios平台

不好的地方在于:你的电脑环境变了换电脑了,再打包出来的签名就会不一样了,再打包出来的app就无法覆盖之前的版本,会报签名不一样的问题

 

二.不采用自动签名

1.打包运行 命令 ionic build --release android (安卓为例)

2.生成证书文件

keytool -genkey -v -keystore test.keystore -alias demo.keystore -keyalg RSA -validity 20000
命令运行之后会让你填写密钥库口令,
再次确认,之后是一些相关的个人以及公司信息,没输入完一次,回车就行,
之后还会有一个密钥库的口令,可以和密钥库的一样或者重新写;

keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来;
-keystore test.keystore 证书的文件名; 
-alias sign.keystore 表示证书的别名;
-keyalg RSA 生成密钥文件所采用的算法; 
-validity 20000 该数字证书的有效期,单位天;
出现的问题:
(1).keytool不是内部或可用命令,这里需要把这个路径配置到这个工具的上级文件夹,
比如我的keytool.exe是在Java\jdk1.8.0_121\bin\这个文件下,配置目录到
Java\jdk1.8.0_121\bin\;最后这个\不要丢掉,配置的时候注意;(分号)没有了要加上;
(2).输入密钥库口令的时候输入但并不在窗口上展示,其实已经输上了;
3.对生成的未签名的apk进行签名
jarsigner -verbose -keystore /yourpath/demo.keystore -signedjar signafter.apk android-release.apk sign.keystore

 

jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来; 
-keystore /yourpath/test.keystore 之前生成的证书 找到证书的位置
signafter.apk 签名后的apk 
android-release.apk 需要签名的apk 
sign.keystore 证书的别名

注意的问题:

(1).配置的变量目录要和上边的类似,否则也会报命令不可用的问题.

位于jdk1.6.0_24\bin\目录下

(2).运行这个命令的时候需要切换目录到你需要签名的apk的目录,否则会报错jar文件无法打开

(3).如果你是在你签名证书存放的目录下运行的这个命令,那么你需要把你要签名的apk复制到这个目录下,否则也会报错jar文件无法打开

4.对签名过的apk进行优化,可以不优化

zipalign -v 4 signafter.apk  signend.apk

 1)zipalign是工具名称,-v表示在DOS窗口打印出详细的优化信息;
 2) 表示对已签名文件signafter.apk进行优化,优化后的文件名为 signend.apk

5.查看apk签名

 

Mac下,把apk的后缀改为zip打开,然后查看META-INF下的.RSA文件 
Windows下,用winner打开apk,同样查看.RSA文件 
执行命令

keytool -printcert -file META-INF/CERT.RSA

注意后面文件的名称与路径即可,可以查看到签名信息,主要是查看Certificate fingerprints下的MD5与SHA1,这两个不同就代表着签名不同

 

6.利用证书文件当换电脑打包同一个app时,使app签名不变

正在研究中,希望有看到的大神帮补充一下,谢谢

以上是关于ionic 项目签名的主要内容,如果未能解决你的问题,请参考以下文章

sh 从您的Ionic项目创建签名和zipaligned APK

ionic生成签名的APK方法总结

ionic3 项目常用

ionic安卓打包apk--安卓签名

从签名板 Ionic 3 发送签名

Google Plus 登录在已签名的 ionic 应用程序中给出错误代码 10