當我們的ionic應用開發結束之后,就要開始上線到應用市場,那么Android的發布步驟具體是怎么樣的呢?
1)編譯
運行命令行:
ionic cordova build android --release
1
如果一切順利,最后會build successful
在platforms/android/build/outputs/apk/目錄下面會生成默認名字為android-release-unsigned.apk的release版本apk文件。
2)使用keytool生成keystore文件
keytool是JDK自帶的加密工具,我們需要生成一個keystore文件,然后保存好,之后不需要每次都生成新的。
運行命令行:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
1
之后會讓我們設置一些密碼和安全問題,根據命令行提示進行設置即可,最后會在當前命令行執行的目錄下自動生成默認名為my-release-key.keystore文件。如果你設置了alias_name,那么文件就是你設置的名字。validity 10000代表文件的加密時間為10000天。
3)使用jarsigner簽名
jarsigner是JDK自帶的簽名工具,我們需要將release版本的apk文件利用keystore文件進行加密,也就是簽名,簽名之后的apk才能發布到Android應用市場。
運行命令行:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk alias_name
1
注意這里的apk路徑要正確,如果路徑不正確,就找不到需要簽名的apk文件,自然會簽名失敗。
4)壓縮apk文件
zipalign是Android/sdk/build-tools/VERSION/zipalign的壓縮代碼工具,可以將我們的apk體積最小化。
比如我的zipalign的位置在D:\Android\android-sdk-windows\build tools\25.0.1\zipalign.exe,25.0.1是android sdk版本號,任意版本號都有zipalign.exe。
打開電腦的命令行工具:
進入zipalign正確的路徑之后,運行命令行:
zipalign -v 4 D:\project\IoT-China\CustomerProjects\ESTUN\Implementation\Source\Solutions\ESTUNMOBILE.WebUI\platforms\android\build\outputs\apk\android-release-unsigned.apk? alias_name.apk
1
這里android-release-unsigned.apk的路徑應該是你的正確的路徑,alias_name是壓縮完成之后的apk文件名,成功之后會出現Verification succesful。
現在去你的zipalign所在的路徑,可以看到壓縮完成的apk文件。
5)不需要像蘋果一樣設置各種各樣的證書,現在就可以將我們壓縮完成的apk文件上傳到相應的應用市場,填寫相應的APP信息,等待審核就可以了。