1. 程式人生 > >Ionic 跨平臺開發之打包上線

Ionic 跨平臺開發之打包上線

一、iOS打包

    對於iOS開發者而言,iOS端的打包比較容易,具體步驟如下:

    1,保證程式碼能夠正常的執行之後,新增iOS平臺(依次執行ionic platform rm iosionic 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