Skip to content

小小前端

明月本无心,行人自回首。

Menu
  • 前端开发
  • 编程技术
  • SQL语句
  • Linux
  • 生活/旅行
  • JSEditor
  • MiniBarCMS
  • About
  • 隐私政策
Menu

ionic2签名打包

Posted on 2017年5月28日 by king2088

利用ionic2制作好的app,我们得通过打包后才能发布出去,不然的话app是无法通过验证的。在打包过程中,我们就得需要java的keytool进行生成证书,然后通过生成的证书,我们再将其导入到我们得app里面来实现一个签名。
1、进入ionic项目根目录(比如我的是h:/Ionic/flashlight)
cd h:/Ionic/flashlight
使用keytool生成证书
keytool -genkey -v -keystore key.keystore -alias you_name -keyalg RSA -keysize 2048 -validity 10000
首先会让你输入密码,如果你使用过linux或者mac的话,你就会知道,这里输入密码是不可见的(菜鸟们不要以为这是bug)。
其中key.keystore是证书的名称和后缀名,key则可以修改成你需要的名称,而后缀名不能随意更改,否则会出错。
you_name则为证书拥有者的名称,你可以自己起一个。

如果可以出现什么问题的话,你可以看到如下的设置:

ionic打包证书
ionic打包证书

这些设置,自己随便乱填下吧!感觉没有什么用处
现在你就可以在根目录下看见一个key.keystore的证书了。有了这个证书,那么我们现在可以开始打包app了。
2、打包app
使用以下命令生成apk文件到platforms/android/build/outputs/apk
这里我们生成的apk的名称是android-release-unsigned.apk(自动默认的名称)
ionic build android –release –prod –device
3、为apk签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore H:/Ionic/flashlight/platforms/android/build/outputs/apk/android-release-unsigned.apk you_name
命令执行后会让你输入你之前设置的密码
注意:apk路径请使用绝对路径,这样就不会发生任何错误了,看到you_name了吗?请修改成你证书的用户名。
如果不出什么状况的话,你会看到如下图:
ionic2 app打包
ionic2 app打包

到此,apk签名完成了。
4、apk优化
不过根据android官方所说,我们还得对此apk进行优化,优化则是使用Android SDK中zipalign进行优化。这个应用可以在Android SDK目录下找到,比如我的目录如下(在build-tools目录下,随便打开一个文件夹即可看到zipalign):
zipalign
zipalign

因此,我们需要cd到当前的zipalign目录,来执行相关命令。
cd E:\Android\sdk\build-tools\22.0.1
再次输入如下命令
zipalign -v 4 H:/Ionic/flashlight/platforms/android/build/outputs/apk/android-release-unsigned.apk flashlight.apk
你会看到有两个apk名称的文件,第一个apk文件是你要优化的apk目录(必须绝对路径),第二个则是优化后生成的apk文件,这里我直接放到当前目录,因此没有填写路径,你可以尝试自己添加其他路径。
到此APK打包和优化,终于完工了!

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

分类

近期文章

  • cordova-plugin-camera在某些android机型中拍照或选择文件时闪退出错的解决办法 2019年10月24日
  • JavaScript nodeJS base64加密解密url参数 2019年10月15日
  • 利用expressJS编写reset api 2019年4月13日
  • angular4 + http拦截器 2019年3月21日
  • ionic navCtrl.pop如何传递参数给上一个页面 2018年11月16日
  • ionic3搭建开发/测试环境 2018年10月25日
  • ionic2、3双击硬件back按键退出应用 2018年10月24日
  • VMware安装Mac OS High Sierra 10.12及高版本无法全屏 2018年8月24日

近期评论

  • 手表资讯发表在《ReactJS环境搭建》
  • king2088发表在《ionic中使用热更新插件cordova-hot-code-push》
  • 重阳节的诗句发表在《常用的sql语句》
  • 新郎致辞发表在《PHP代码实现WordPress相关文章的几种方法》
  • 霸道总裁发表在《vsftpd 提示 unrecognized service 解决办法》

归档

标签

Ajax Android Angular APP Cordova CSS css3 express html5 ionic Java javascript jQuery Linux loading mac Mac OS mongodb MySQL node nodejs PHP react SQL SSH VirtualBox vue vue-cli win10 WordPress WP REST API 主题 兼容性 前端 备份 插件 数据库 数组 服务器 正则表达式 浏览器 热更新 目录 组件 错误
2023年 4月
一 二 三 四 五 六 日
 12
3456789
10111213141516
17181920212223
24252627282930
« 10月    
© 2023 小小前端 | Powered by Superbs Personal Blog theme