Ionic 跨平臺開發之打包上線
一、iOS打包
對於iOS開發者而言,iOS端的打包比較容易,具體步驟如下:
1,保證程式碼能夠正常的執行之後,新增iOS平臺(依次執行ionic platform rm ios
和ionic platform add ios
),然後看專案能不能build成功(執行ionic build ios
);
2,準備相關證書;
3,開啟(platform/ios/
.codeproj
檔案),之後在Xcode中做相關配置和打包;
注:步驟2和3不清楚的可以參考:點選開啟連結
二、Android打包
App用ionic開發完成後,就可以打包釋出市場啦。釋出一個App可以上傳市場的包,關鍵要做兩樣東西,一是打一個release包,二是給包簽名。命令不多,但命令比較長,記錄一下。
1,首先生成 release包
cordova build --release android
# 記得加上--release 引數,不然會打出debug包
執行完這條命令後,cordova會根據你的config.xml生成一個未簽名的apk包。在platform資料夾可以找到apk包(platforms/android/ant-build),接下來就可以簽名了。
2,生成安全鑰匙
App簽名需要用到安全鑰匙,你可以用JDK的keytool工具生成,執行下面命令
# 把‘my-release-key’和‘alias_name’換成應用的名字
keytool -genkey -v-keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize2048 -validity 10000
執行後需要回答一些問題,正常填寫就好了
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: test
What is the name of your organizationalunit?
[Unknown]: test
What is the name of your organization?
[Unknown]: test
What is the name ofyour City or Locality?
之後會生成一個your_name.keystore檔案,這就是你的安全祕鑰,記得要好好保管,下次更新應用要用到,丟失就大事了,你以後就甭想更新市場上的應用了。
3,簽名
使用JDK中的jarsigner工具為apk簽名,命令如下:
# my-release-key和alias_name換成你的名字
jarsigner -verbose-sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
執行後會生成一個已簽名成功的apk,你可以用這個包釋出市場。
4,優化(可選)
使用Zipalign優化,Zipalign是一個android平臺上整理APK檔案的工具,它首次被引入是在Android 1.6版本的SDK軟體開發工具包中。它能夠對打包的Android應用程式進行優化, 以使Android作業系統與應用程式之間的互動作用更有效率,這能夠讓應用程式和整個系統執行得更快。
命令如下:
zipalign -v 4 HelloWorld-release-unsigned.apkHelloWorld.apk
DONE