ionic app打包和签名
ionic app打包和签名
1、首先在项目根目录执行 ionic platform add android 生成Android平台。
2、配置应用签名:在根目录下执行以下命令
keytool -genkey -v -keystore myApp.keystore -alias myApp -keyalg RSA -keysize 2048 -validity 20000
命令说明:
-genkey 产生密钥
-alias pbnEoC.keystore 别名 demo.keystore
-keyalg RSA 使用RSA算法对签名加密
-validity 20000 有效期限2000天
keysize: 大小
-keystore pbnEoC.keystore 证书的别名
结果如下:会在根目录生成一个myApp.keystore的文件

3、使用build命令编译一个应用的发布版本, 在platforms\android\build\outputs\apk下找到android-release-unsigned.apk文件,把它移动到根目录下(跟myApp.keystore同目录)。以防签名的时候找不到jar文件
ionic build --release android
4、签名应用文件:把已经生成的 android-release-unsigned.apk 文件移到项目根目录下,不然可能会报错"无法打开 jar 文件: android-release-unsigned.apk"。在终端命令窗口进入到项目根目录。执行以下命令:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore android-release-unsigned.apk myApp
过程会需要一点时间,期间会提示输入keystore的密码密钥,命令会修改apk文件并对其进行签名。
命令说明:
Jarsigner 是工具名称
-verbose 表示将签名过程中的详细信息打印出来,显示在控制台窗口中
-keystore myApp.keystore 之前生成的证书 ,表示签名所使用的数字证书所在位置/名字(同目录)
-signedjar (后面的路径是你要签名apk的路径) 表示给Apk工程目录下的 android-release-unsigned.apk 文件签名
myApp 表示证书的别名,对应于生成数字证书时-alias参数后面的名称
5、验证apk是否签名成功:出现一堆信息
jarsigner -verify -verbose -certs android-release-unsigned.apk
6、查看签名的信息:
keytool -printcert -file META-INF/*.RSA
7、可选择执行以下命令:优化apk文件-----减少在设备上占用的空间和内存。我们使用zipalign工具,它使用签名后的APK文件生成一个优化后的APK版本,用于应用上传。
添加环境变量:
path:D:\AndroidSDK\android-sdk-windows\build-tools\23.0.3 在项目根目录下执行命令:
jarsigner -verify -verbose -certs android-release-unsigned.apk
成功的显示:

ionic app打包和签名的更多相关文章
- cordova app打包apk签名
首先执行:ionic cordova build android --prod --release,执行完会在以下目录生成apk文件( --prod 用以压缩) 然后使用keytool生成keysto ...
- 关于ionic app $http.get()无法请求,导致页面没有数据的问题
ionic app 打包后在真机上运行,无法用正常使用http.get(),这种情况被称为“白名单”,解决方法:切换到项目根目录,执行命令:cordova plugin add cordova-plu ...
- ionic安卓打包apk--安卓签名
上周项目上线,在网上看了看打包的博客,感觉不是很清晰我自己来总结下 首先,我们在项目的根目录下 build android apk 的时候执行的命令一定要是 ionic build android - ...
- 勾勾街——一个专注于免越狱免签名的苹果ios APP打包生成的网站
自涛舅舅研发的“苹果ios APP自助生成系统”上线以来,每天都有大量的用户注册和生成免越狱app,为什么? 因为我们有明显的技术优势,APP不需要上架appstore, 生成APP又不需要企业签名证 ...
- Gradle实现自动打包,签名,自定义apk文件名
Gradle实现自动打包,签名,自定义apk文件名 什么是签名,签名有什么用 Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到Android手机上的,平时我们调试运行 ...
- Ionic app 通知在Moto 360 Watch上显示通知(2)
在前一篇文章中,我们已经将Wtach的环境测试成功,下面进入我们自己消息的接收. 1.安装JPush插件在我们的App中,这个具体步骤可以参考 Ionic 安装JPush过程 2.在App上的登录模块 ...
- Ionic app升级插件开发
终于走到了写插件的这个地方了,插件的过程: 1.安装plugman插件,管理我们的程序 npm install -g plugman 2.创建插件项目appUpgrade,cd 到你的目标目录下,执行 ...
- ionic项目打包+部署
环境: 1.ionic 2.angular-cli 开发 1.CTRL C + CTRL V 2.图片路径的问题 使用‘assets/xxxxx.jpg’,而不使用‘../../assets/xxx ...
- ActiveX控件打包、签名、嵌入详解
ActiveX控件打包.签名.嵌入详解 前言 在我们的一个项目中,使用到了大华网络监控摄像头枪机,网络上下载了其ActiveX插件,但是发现其所提供的类库没有打包处理.这就导致我们每次给用户安装的时候 ...
随机推荐
- numpy.random 常用函数详解之排列乱序篇(Permutations)
1.numpy.random.shuffle(x) 参数:填入数组或列表. 返回值:无. 函数功能描述:对填入的数组或列表进行乱序处理,shape保持不变. 2.numpy.random.permut ...
- [Swift]LeetCode420. 强密码检验器 | Strong Password Checker
A password is considered strong if below conditions are all met: It has at least 6 characters and at ...
- mysql 主主+ Keepalived 高可用
这是在mysql互为主从的基础上做的 yum -y install keepalived #两台机器上都装 配置Keepalived主从, vrrp_instance VI_1 { state ...
- Kubernetes 笔记 04 架构是个好东西
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...
- iOS学习——Quartz2D学习之UIKit绘制
iOS学习——Quartz2D学习之UIKit绘制 1.总述 在IOS中绘图技术主要包括:UIKit.Quartz 2D.Core Animation和OpenGL ES.其中Core Animati ...
- slice全解析
slice全解析 昨天组内小伙伴做分享,给出了这么一段代码: package main import ( "fmt" ) func fun1(x int) { x = x + 1 ...
- ESXI开启snmp协议方法
公司用VMware做虚拟化,15+HPE 服务器做集群,现需要用zabbix监控其状态,于是想通过打开主机的snmp协议来采集数据,监控其状态,注意其数据是ESXI系统返回的. ssh登录到ESXI上 ...
- Python使用Xpath轻松爬虫(脑残式)
1.在PyCharm安装lxml. 2.找到源码 3.F12.copy源码的xpath 4.代码 from lxml import etree import requests wb_data = re ...
- hibernate易混淆点
萌新小笔记: 用过hibernate的小伙伴肯定经常看到这几个东西吧!但是初学者常常会把这几个搞不清楚:dataSource,session,sessionFactory(dataSource),hi ...
- Config Server高可用
一 简介构建高可用的Config Server集群,包括Config Server的高可用,以及依赖Git仓库的高可用. 二 Git仓库的高可用由于配置的内容都存储在Git仓库中,所以要想实现Conf ...