ionic实战-签名android App/android打包

为什么要签名app

  • android app那么多,要给app一个唯一身份,有了这个唯一身份才能上传到app商店中
  • 升级应用时若包名一致但签名不一致,APP也会安装失败
  • 所以正式版app都要签名,还有许多我不知道的原因......

注意

  • 打包前先检查你的app id,先起一个不会和别人重复的名字.很多人还在使用默认的io.ionic.starter,请赶紧改了.一般命名是com.公司英文名称.应用英文名称

制作签名文件(.keystore文件)

  • 使用如下命令生成签名文件
    keytool -genkey -v -keystore 你起的名字.keystore -alias 你起的别名 -keyalg RSA -validity 10000
    生成签名(.keystore)文件的过程
生成的.keystore文件

使用签名文件

签名方式一

  • 把上一部生成的签名文件复制到app根目录下
  • 然后在app根目录下创建一个名字为release-signing.properties的文件,这个文件的内容如下
storeFile=E://work_space//jianshu//ionic2_tabs//ionic2_tabs.keystore
keyAlias=ionic2_tabs
storePassword=ionic2_tabs
keyPassword=ionic2_tabs
  • 再把刚创建的release-signing.properties文件复制到./platforms/android根目录下

找不到./platforms/android目录?执行命令cordova platform add android

  • 最后执行打包命令ionic cordova build android -releaseionic cordova build android --prod --release生成正式版app

真正的上线的版本都要使用--prod参数,这会压缩app,使app体积变小,启动更快.缺点是这个参数打包很慢,我这里大概需要5到10分钟

  • 其实release-signing.properties.keystore文件放到项目根目录是为了方便使用。因为./platform/android目录是动态生成的,release-signing.properties打包前需要放到此目录下,所以把release-signing.properties文件保存在项目跟目录下

签名方式二

  • 首先执行打包命令ionic cordova build android -releaseionic cordova build android --prod --release生成未签名的apk文件
  • 复制.keystore文件到未签名的apk目录下
  • 未签名的apk目录下执行签名命令jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore name.keystore android-release-unsigned.apk alias_name

注意签名命令执行完成,apk名字没有改变还是android-release-unsigned.apk,但实际是已经签名过的

最后

  • 对apk优化zipalign -v 4 已经签名的.apk apk别名.apk
  • 关于jarsignerzipalign等工具的详情请自行百度
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容