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)放到一个安全的地方,要不然你上传到商店后就无法对这个软件进行升级。】

更多相关文章

  1. Android应用程序的打包,安装,启动
  2. Android应用程序发布到Google Play
  3. Android给apk签名
  4. Android签名及权限变化详解
  5. android打包apk时混淆遇到的问题
  6. 【已验证】android studio 打包报 MissingTranslation 的3种解决
  7. 关于Android多渠道打包
  8. Android项目构建之build.gradle配置与打包
  9. Eclipse+ADT进行Android应用程序的代码混淆和签名

随机推荐

  1. Android之来历
  2. Android下EditText中的字体不统一问题
  3. Android(安卓)动态菜单实现实例代码
  4. Android+Jquery Mobile学习系列(1)-开发
  5. Android应用开发资源
  6. App 开发 Android Fragments 的详细使用
  7. Android(安卓)OpenGL ES(九):绘制线段Line
  8. Android最佳实践之:代码性能优化——Stric
  9. [置顶] Android应用程序签名
  10. Android将后台应用唤起到前台,唤醒APP;