ionic2完整-签名android和ios App打包上架

栏目:企业证书打包 时间:2019-03-01 09:01 作者:35tui.cn
APP开发完成后都需要做的就是打包上架,这里列举三种打包方法,着重讲解官网Android打包方式(结合android的打包)进行最详细的讲解。 企业证书打包
打包执行命令:(ionic其实可以省略,尾部可以加–save)
 
1、ionic cordova platform remove android (移除平台)
 
2、ionic cordova platform add android@6.2.2 (添加平台)【建议6.2.2 
对应的是android-25 SDK】
 
3、ionic cordova build android –prod (测试版) 
android-debug.apk【默认是这个版本】 ionic cordova build android 
–prod –release(正式未签名版) 打包后出现 android-release-unsigned.apk
 
4、ionic cordova build android –prod –release(正式签名版) 打包后出现 
android-release.apk【前提是创建了密钥 并配置了release.properties文件】
 
加完平台后包执行Android打包 完成后会显示: Building successful
 
**IOS的打包上架可参考blog.csdn.net/liujiawei00/article/details/73822707。(这里不详细讲解) 
使用webStorm工具打包签名APP www.jianshu.com/p/dfd98ad47af1 【本人没试过】 
方法一:(未打包好,想直接打包签名的。)
 
项目目录下执行:
1、先移除平台防止错误:ionic cordova platform remove android –save 【ionic 
不要也行】(如果成功,以后直接打包覆盖平台即可)
 
2、再添加平台:ionic cordova platform add android@6.2.2 –save
 
3、再制作密钥(随便在哪制作):keytool -genkey -v -keystore lappfront.keystore -alias 
lappfront.keystore -keyalg RSA (-keysize 2048) -validity 20000
 
 
4、制作完生成的lappfront.store(我这里是lappfront) 移动到项目生成的platform >android目录下【和下面的release-signing.properties文件在同目录】
 
4、再platform >android文件夹下创建release-signing.properties文件(内容如下): 
 
5、最后如下: 【打包正式的话就执行 ionic cordova build android –prod –release】【debug.apk的话如下图】 
 
 
经过上面几步的操作,ionic打包签名APK:android-release.apk便已完成。
 
【最后就是优化APK,优化步骤下面有 (不优化也可以) 上线就行了】
 
方法二:要给未签名的apk重新签名,需要用到jarsigner工具:
 
1、已经执行了 ionic cordova build android –prod –release
 
打包成功的前提下出现:android-release-unsigned.apk【需要转成签名APK】
 
1)、创建密钥:同上 【这次在打包好的apk目录下执行】
 
2)、密钥弄好后,cd到项目的apk 目录 执行:【根据你要的app名称进行下面命令】
 
jarsigner -verbose -keystore my-release-key.keystore -storepass 123456 
-signedjar lvshi.apk -digestalg SHA1 -sigalg MD5withRSA android-release-unsigned.apk alias_name 【这里要注意这些参数的意思,和密钥设置的匹配就行】 
 
这里面,你的apk地址,要么是绝对地址,要么是你工程内的相对地址,如果地址不对,就会出现下面的错误【所以直接直接放一起,不然要找路径】
 
 
 
【结尾是jar 已签名,出现新的签名apk】
 
jarsigner是JDK自带的签名工具,我们需要将release版本的apk文件利用keystore文件进行加密,也就是签名,签名之后的apk才能发布到应用市场。
 
【项目apk的 目录下,创建密钥并签名如下】
 
一、keytool -genkey -v -keystore my-release-key.keystore -alias 
alias_name -keyalg RSA -keysize 2048 -validity 10000
 
二、jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 
my-release-key.keystore HelloWorld-release-unsigned.apk 
alias_name【这里用下面MD5那种的签名】
 
SHA-1与MD5的比较:【都是摘要加密算法】
 
http://blog.csdn.net/lplj717/article/details/51828692【加密算法中BASE64、MD5、SHA、HMAC等之间的区别】
 
因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:
 
l对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 
位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操作,而对SHA-1则是2^160数量级的操作。这样,SHA-1对强行攻击有更大的强度。
 
l 对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。
 
l 速度:在相同的硬件上,SHA-1的运行速度比MD5慢。
 
三、参考http://e2web.cn/2016/12/23/ 
 
 
这种打包完成后需要优化 【虽然你在build的时候–prod 了,但这里一样可以再优化】:
 
cd到下面目录(针对你apk的版本): 
 
 
 
这里面apk的路径最好是绝对路径,要不然也会报错。
 
执行:zipalign -v 4 
E:\my_project\lappfront\platforms\android\build\outputs\apk\lvshi.apk 
E:\my_project\lappfront\platforms\android\build\outputs\apk\lvshi_fabu.apk
 
【到此为止,你还剩下最后一步工作,如果想要真正的发布软件,你需要将之前生成的签名文件(.keystore)放到一个安全的地方,要不然你上传到商店后就无法对这个软件进行升级。】
--------------------- 
作者:娶个村姑当大妾 
来源:CSDN 
原文:https://blog.csdn.net/Bug_money/article/details/78587672 
版权声明:本文为博主原创文章,转载请附上博文链接!
企业证书打包www.35tui.cn
18627799917
扫描微信
TOP