ionic 项目签名
一.ionic 自动签名的好处与坏处(ionic build android/ios)
好处在于:可以直接安装手机上进行安装测试,也可以上传Android或者iOS平台
不好的地方在于:你的电脑环境变了换电脑了,再打包出来的签名就会不一样了,再打包出来的app就无法覆盖之前的版本,会报签名不一样的问题
二.不采用自动签名
关于签名官网提供了一种新的方式,参加官网https://ionicframework.com/docs/intro/deploying/
1.打包运行 命令 (安卓为例)
ionic build android -release
2.生成证书文件
keytool -genkey -v -keystore test.keystore -alias demo.alias -keyalg RSA -validity 20000
命令运行之后会让你填写密钥库口令,
再次确认,之后是一些相关的个人以及公司信息,没输入完一次,回车就行,
之后还会有一个密钥库的口令,可以和密钥库的一样或者重新写;
keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来;
-keystore test.keystore 证书的文件名;
-alias sign.alias表示证书的别名;
-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.alias
jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来;
-keystore /yourpath/test.keystore 之前生成的证书 找到证书的位置
signafter.apk 签名后的apk
android-release.apk 需要签名的apk
sign.alias证书的别名
注意的问题:
(1).配置的变量目录要和上边的类似,否则也会报命令不可用的问题.
位于jdk1.6.0_24\bin\目录下
(2).运行这个命令的时候需要切换目录到你需要签名的apk的目录,否则会报错jar文件无法打开
(3).如果你是在你签名证书存放的目录下运行的这个命令,那么你需要把你要签名的apk复制到这个目录下,否则也会报错jar文件无法打开
(4)有些情况下会提示未提供 tsa 或 tsacert(其实不影响apk的使用)
可以再命令后加上 -tsa https://timestamp.geotrust.com/tsa
4.对签名过的apk进行优化,可以不优化
zipalign -v 4 signafter.apk signend.apk
1)zipalign是工具名称,-v表示在DOS窗口打印出详细的优化信息;
2) 表示对已签名文件signafter.apk进行优化,优化后的文件名为 signend.apk
5.查看apk签名
1)
Mac下,把apk的后缀改为zip打开,然后查看META-INF下的.RSA文件
Windows下,用winner打开apk,同样查看.RSA文件
执行命令
keytool -printcert -file META-INF/CERT.RSA
注意后面文件的名称与路径即可,可以查看到签名信息,主要是查看Certificate fingerprints下的MD5与SHA1,这两个不同就代表着签名不同
2)查看证书文件的签名(keystore)
keytool -list -v -keystore 你自己的打包用到的keystore的路径
例如 keytool -list -v -keystore F:\workappusekey\test.keystore
6.利用证书文件当换电脑打包同一个app时,使app签名不变
利用生成的数字证书和包名可以保证签名不变,生成的数字证书文件和包名要保存好;
如果对包名有要求,在对项目签名前,确定包名;
在 start 命令创建项目的时候,后边加上 -i或者--id来设置包名,可以避免创建项目之后再去修改包名

希望有问题的地方,看到的大神帮补充一下,谢谢
ionic 项目签名的更多相关文章
- ionic项目 环境搭建及基本操作
一.安装 1.安装node.js 3.安装ionic & cordova: 命令行输入:npm install –g cordova ionic 注:-g表示全局安装,也可以进入指定的目录安装 ...
- ionic生成签名的APK方法总结
ionic生成签名的apk步骤如下: 1. 在项目目录下运行 ionic build android --release 先生成一个未签名的apk 2. 在项目目录下运行 keytool -genke ...
- ionic项目编译打包(android平台)
ionic项目相关开发工作完成之后(建立ionic工程项目可以参考上一篇文章ionic项目工程建立),就可以进行项目的编译打包apk应用包. 打包编译需要在平台环境下,这里只记录下android平台打 ...
- 浅谈对ionic项目的理解
在思考怎么将客户端app连接到服务器的时候,就在想ionic项目的本质是什么,一开始因为ionic serve这一命令,我以为它自己就是个服务器,但是后来一细想又感觉不是这样,不然客户端又该怎么和服务 ...
- 实战使用Axure设计App,使用WebStorm开发(2) – 创建 Ionic 项目
系列文章 实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求 实战使用Axure设计App,使用WebStorm开发(2) – 创建 Ionic 项目 实战使 ...
- [转]ionic项目之上传下载数据
本文转自:http://blog.csdn.net/superjunjin/article/details/44158567 一,首先是上传数据 记得在angularjs的controller中注入$ ...
- ionic项目的一些简单操作
1.首先保证开发环境没问题: 2.下载一个ionic项目:命令ionic start myApp tabs(myApp的项目的名称) 3.在运行项目之前,要先创建平台: ionic platform ...
- cordova安装--创建ionic项目
1.简介ionic ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework ). 可以帮助您使用 Web 技术,比如 HTML.CS ...
- Ionic项目中使用极光推送
Ionic项目中使用极光推送-android 对于Ionic项目中使用消息推送服务,Ionic官方提供了ngCordova项目,这个里面的提供了用angularjs封装好的消息推送服务(官方文档) ...
随机推荐
- Mybatis框架二:增删改查
这里是搭建框架和准备数据: http://www.cnblogs.com/xuyiqing/p/8600888.html 实现增删改查功能: 测试类: package junit; import ja ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 3.安装配置OpenStack认证服务(keystone)
节点配置信息说明: 控制节点:controller: IP:192.168.164.128 hostname&hosts:likeadmin 计算加点:Nova: IP:192.168.164 ...
- lombok的介绍及使用
参考:https://blog.csdn.net/motui/article/details/79012846 介绍 在项目中使用Lombok可以减少很多重复代码的书写.比如说getter/sette ...
- Git本地上传到服务器
Git本地上传到服务器 2018年05月17日 10:45:02 VV-King 阅读数:643 标签: git 1.本机window系统的话先下载msysgit 下载后在开始菜单里面找到 &q ...
- java中的字符、字符串及数字之间的转换(转)
一.string 和int之间的转换 1.string转换成int :Integer.valueOf("12") 2.int转换成string : String.valueOf( ...
- Asp.net core 跨域设置
验证环境: dotnet core 2.1/Asp.net core2.1 一.作用域在中间件层 配置的方式是在startup.cs文件Configure(IApplicationBuilder a ...
- 浅析mpvue的事件代理系统
前言 说来惭愧,用 mpvue 大半年,小程序快一年了,居然还试图用 event.stopPropagation 方法阻止事件冒泡,也是有点蠢.痛定思痛,写篇博文来认真捋一捋小程序的事件系统和 mpv ...
- 从零开始学 Web 之 移动Web(九)微金所案例
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- Kafka实战-Storm Cluster
1.概述 在<Kafka实战-实时日志统计流程>一文中,谈到了Storm的相关问题,在完成实时日志统计时,我们需要用到Storm去消费Kafka Cluster中的数据,所以,这里我单独给 ...
- Java并发编程笔记之CopyOnWriteArrayList源码分析
并发包中并发List只有CopyOnWriteArrayList这一个,CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行修改操作和元素迭代操作都是在底层创建一个拷贝 ...