本教程適合于ionic3框架打包Android apk,命令與ionic2類似,可供ionic2參考肄渗。ionic之所以能運行在多個平臺中后雷,得益于集成了Cordova框架季惯。
-
為ionic項目添加Android平臺:
ionic cordova platform add android
同樣,如果需要移除Android平臺:
ionic cordova platform remove android
-
編譯Android apk包:
這里有兩種apk包臀突,一種是debug類型的勉抓,一種是未簽名的發(fā)布包。debug類型的比較大候学,而且運行在手機上會比較慢藕筋,使用ionic3的命令打包成未簽名的發(fā)布包,可以進行優(yōu)化梳码,app運行速度會有質的提升隐圾。
打包debug類型伍掀,默認命名為android-debug.apk:ionic cordova build android
打包未簽名的發(fā)布包類型,默認命名為android-release-unsigned.apk:
ionic cordova build android --prod --release
-prod ionic的打包方式暇藏,可以加快app開啟速度
-release 聲明打包的是發(fā)布版
-
生成.keystore簽名文件
keytool -genkey -alias superatom.factory -keyalg RSA -validity 40000 -keystore superatom.factory.keystore
- keytool是生成簽名文件的工具名稱蜜笤,-genkey意味著執(zhí)行的是生成數字證書操作,-v表示將生成證書的詳細信息打印出來盐碱。
- -keystore superatom.factory.keystore 證書的文件名把兔;
- -alias superatom.factory 表示證書的別名
- -keyalg RSA 生成密鑰文件所采用的算法;
- -validity 40000 該數字證書的有效期甸各;
執(zhí)行了這段命令垛贤,會在當前執(zhí)行命令的目錄下創(chuàng)建一個簽名文件。
-
簽名apk
使用上面生成的簽名文件簽名apk:jarsigner -verbose -keystore /home/superatom/superatom.factory.keystore -signedjar factory_signed.apk android-release-unsigned.apk superatom.factory
- arsigner是工具名稱趣倾,-verbose表示將簽名過程中的詳細信息打印出來聘惦;
- -keystore /home/superatom/superatom.factory.keystore之前生成的證書的絕對路徑
- -signedjar factory_signed.apk 簽名后的apk 命名
- android-release-unsigned.apk需要簽名的apk
- superatom.factory 證書的別名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /home/superatom/superatom.factory.keystore -signedjar factory_signed.apk android-release-unsigned.apk superatom.factory
- 添加-sigalg SHA1withRSA -digestalg SHA1,即使用SHA1withRSA算法加密儒恋,如果不適用默認是SHA256withRSA善绎。使用默認的算法會導致低版本的Android無法安裝,360軟件管家不允許發(fā)布此類算法簽名的App诫尽。
- 到此禀酱,簽名apk制作完畢!