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打包和签名的更多相关文章

  1. cordova app打包apk签名

    首先执行:ionic cordova build android --prod --release,执行完会在以下目录生成apk文件( --prod 用以压缩) 然后使用keytool生成keysto ...

  2. 关于ionic app $http.get()无法请求,导致页面没有数据的问题

    ionic app 打包后在真机上运行,无法用正常使用http.get(),这种情况被称为“白名单”,解决方法:切换到项目根目录,执行命令:cordova plugin add cordova-plu ...

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

    上周项目上线,在网上看了看打包的博客,感觉不是很清晰我自己来总结下 首先,我们在项目的根目录下 build android apk 的时候执行的命令一定要是 ionic build android - ...

  4. 勾勾街——一个专注于免越狱免签名的苹果ios APP打包生成的网站

    自涛舅舅研发的“苹果ios APP自助生成系统”上线以来,每天都有大量的用户注册和生成免越狱app,为什么? 因为我们有明显的技术优势,APP不需要上架appstore, 生成APP又不需要企业签名证 ...

  5. Gradle实现自动打包,签名,自定义apk文件名

    Gradle实现自动打包,签名,自定义apk文件名 什么是签名,签名有什么用 Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到Android手机上的,平时我们调试运行 ...

  6. Ionic app 通知在Moto 360 Watch上显示通知(2)

    在前一篇文章中,我们已经将Wtach的环境测试成功,下面进入我们自己消息的接收. 1.安装JPush插件在我们的App中,这个具体步骤可以参考 Ionic 安装JPush过程 2.在App上的登录模块 ...

  7. Ionic app升级插件开发

    终于走到了写插件的这个地方了,插件的过程: 1.安装plugman插件,管理我们的程序 npm install -g plugman 2.创建插件项目appUpgrade,cd 到你的目标目录下,执行 ...

  8. ionic项目打包+部署

    环境: 1.ionic 2.angular-cli  开发 1.CTRL C + CTRL V 2.图片路径的问题 使用‘assets/xxxxx.jpg’,而不使用‘../../assets/xxx ...

  9. ActiveX控件打包、签名、嵌入详解

    ActiveX控件打包.签名.嵌入详解 前言 在我们的一个项目中,使用到了大华网络监控摄像头枪机,网络上下载了其ActiveX插件,但是发现其所提供的类库没有打包处理.这就导致我们每次给用户安装的时候 ...

随机推荐

  1. [Swift]LeetCode115. 不同的子序列 | Distinct Subsequences

    Given a string S and a string T, count the number of distinct subsequences of S which equals T. A su ...

  2. Redis Windows下安装方法

    一.安装 首先在网上下载Redis,下载地址:https://github.com/MicrosoftArchive/redis/releases 根据电脑系统的实际情况选择32位还是64位,在这里我 ...

  3. 心路历程(一)-自学java两个月心得

    这是我的第一条博文,在敲这些文字的时候我已经是一名大四的"老者".说自己"老者"确实如此,因为以前每当这个时候大一新学妹有上架了,哈哈,每当这个时候我们就想了很 ...

  4. scala的map操作

    新建一个不定参数的 map: var cs = mutable.Map.empty[String, String] 对其进行赋值: cs += (key -> value) 读取里面所有的 ke ...

  5. GitHub 1W star 成就达成!

    起因 感谢各位大佬的支持收获了人生第一个(很有可能也是唯一一个)1W star 项目. 从今年一月份创建项目至今 8 个月时间. 一共关闭了 27 个 issue,47 个 RP,总共有 11 位小伙 ...

  6. ElasticSearch(1)---Mysql同步数据到ElSearch

    ElasticSearch同步Mysql 先讲项目需求:对于资讯模块添加搜索功能 这个搜索功能我就是采用ElasticSearch实现的,功能刚实现完,所以写这篇博客做个记录,让自己在记录下整个步骤和 ...

  7. Asp.Net Core WebApi (Swagger+EF Core/Code First)

    Swagger简介: Swagger™的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能. ...

  8. 【Discuz】关于出现“对不起,您安装的不是正版应用..”的解决方法

    使用Discuz!建站的站长都会遇到这样的问题:有些插件和风格在安装时出现不能安装的现象,出现以下提示: 不起,您安装的不是正版应用,安装程序无法继续执行 点击这里安装正版应用 针对这一情况,本人从网 ...

  9. React Native (一) 入门实践

    上周末开始接触react native,版本为0.37,边学边看写了个demo,语法使用es6/7和jsx.准备分享一下这个过程.之前没有native开发和react的使用经验,不对之处烦请指出.笔者 ...

  10. 文本主题模型之非负矩阵分解(NMF)

    在文本主题模型之潜在语义索引(LSI)中,我们讲到LSI主题模型使用了奇异值分解,面临着高维度计算量太大的问题.这里我们就介绍另一种基于矩阵分解的主题模型:非负矩阵分解(NMF),它同样使用了矩阵分解 ...