以前用Ionic+Angular作了幾個小應用Demo,如今用其中一個作實驗試下打包安卓的APK安裝包。(備註:我用的應用demo是以前博客裏寫的匯率的Demo,不清楚的同窗能夠查哈~)html
我是用ionic start建立的項目,在個人platforms裏默認的只有IOS的平臺,因此我要先安裝上Android平臺。java
打開終端,進入到項目文件夾內,執行命令:$ ionic platform add android,以後等待添加完成。android
第一步:先建立應用圖標和啓動圖片ios
應用圖標最少要1024px*1024px大小,啓動圖標最少要2208px*2208px,都要png-8格式的就能夠了。作好圖片後,咱們把圖標命名爲icon.png,啓動圖片命名爲splash.png,把這兩張圖片放到項目resources文件夾目錄下,而後在android和ios文件夾目錄下也各放一份,以後在終端執行命令:$ ionic resources,而後就會生成不一樣尺寸的圖片。macos
(注:ionic resources命令默認會將圖標和啓動圖片都生成不一樣尺寸的圖片,若是像分別生成,能夠執行ionic resources icon生成圖標,執行ionic resources --splash生成啓動圖片)api
第二步:優化項目文件bash
應用體積越小越好,因此我須要把項目裏非必要的文件都清除掉。oracle
① 移除Cordova Console插件ionic
運行命令查看cordova插件列表:$ cordova plugin list
工具
看到咱們須要刪除的插件:
運行刪除插件的命令:$ cordova plugin rm cordova-plugin-console
執行成功:
② 移除全部不須要的文件
③ 移除庫中不使用的文件
④ 壓縮代碼
⑤ 壓縮圖片
第三步 安裝JDK 配置JAVA環境
下載JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下載文件後,雙擊安裝:
安裝完成後點擊關閉:
在終端運行命令:$ java -version,檢測是否成功:
還能夠在命令提示符中輸入「javac」,可以出現用法提示,證實安裝成功。
第四步 安裝Android SDK Tools
須要下載兩個工具:sdk tools和更新完的sdk的adt版本
sdk tools下載地址:http://www.androiddevtools.cn/
解壓後命令行進入tools目錄:$ cd android-sdk-macosx/tools/
輸入命令:$ ./android sdk,而後咱們會看到Android SDK Manager圖形界面
從菜單欄Android SDK Manager 進入Preferences,進行以下配置:
而後從菜單Tools進入Manage Add-on Site:
而後把下面的網址手動new進去:
http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml
http://mirrors.neusoft.edu.cn/android/repository/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml
http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml
http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml
而後建議勾選下面打框的選項,以後進行安裝就能夠啦(Android版本我隨便選了幾個,不用選過低的版本):
而後設置Android環境變量:
打開終端,進入android sdk安裝目錄:
輸入命令:$ touch .bash_profile
輸入命令:open -e .bash_profile
打開.bash_profile添加路徑(個人路徑哈):
export ANDROID_HOME=/Users/jiangwei/Desktop/android-sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
保存文件並關閉
而後輸入命令:$ source .bash_profile
在終端輸入命令 adb點回車,若是未顯示command not found,說明此命令有效,環境變量設置完成。
第五步 配置應用簽名
回到應用項目目錄下:
運行命令:$ keytool -genkey -v -keystore know_your_brew.keystore -alias know_your_brew -keyalg RSA -keysize 2048 -validity 10000
注意:使用你應用的名字來替代know_your_brew
,這個命令會生成一個新的文件,在本示例中爲know_your_brew.keystore。
第六步 使用Cordova編譯應用文件
使用build命令編譯一個應用的發佈版本:
終端進入到項目目錄下,執行命令:$ cordova build --release android
該命令會生成一個新的APK文件,命令會返回編譯後的APK文件的絕對地址,以下圖所示:
第七步 簽名應用文件
如今咱們來使用以前建立的keystore文件來簽名已生成的未簽名版本的應用。
(咱們先把已經生成的apk文件移到項目根目錄下,否則可能會報錯"沒法打開 jar 文件: android-release-unsigned.apk")
終端執行命令:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore exr.keystore android-release-unsigned.apk exr
過程會須要一點時間,期間會提示輸入keystore的密碼密鑰,命令會修改apk文件並對其進行簽名。
可使用命令$ jarsigner -verify -verbose -certs apk文件名,來驗證應用是否簽名成功。
第八步 優化APK文件
優化APK文件,使其減小在設備上佔用的空間和內存。咱們使用zipalign工具,它使用簽名後的APK文件生成一個優化後的APK版本,用於應用上傳。
在android-sdk目錄裏,我搜到zipalign的命令的地址是:./build-tools/25.0.2下面,從終端進入android-sdk目錄下,執行命令:
$ open -e .bash_profile
打開.bash_profile文件,添加zipalign環境變量:export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/25.0.2
保存關閉文件
執行命令:$ source .bash_profile
而後返回到應用項目文件夾目錄下,執行命令:
$ zipalign -v 4 android-release-unsigned.apk MyExrApp.apk
完成後會返回
至此,android APK文件已經生成並完成簽名和優化,能夠將它發到手機上就能夠下載安裝了,若是想要將它發佈到應用商店,那就須要去應用商店註冊開發者帳戶,將其提交到Android應用商店中。