打包APP以前要作的工做:node
ionic resources -icon : 【建立一個app圖標】: 以png/psd/AI格式保存在項目目錄下的:resource/android/icon.png ;android
使用命令 ionic resources -icon 就能夠生產不一樣尺寸的圖標;git
ionic resources --splash : 【建立啓動頁面圖片】:啓動畫面的源文件至少須要2208px×2208px; 保存在項目目錄下:保存格式爲resource/android/splash.png github
使用命令 ionic resources --splash 就能夠生成不一樣尺寸的啓動動畫圖片了;算法
啓動頁面的顯示時間設置:安卓版的app的設置方法是,在config.xml里加入以下幾句話:npm
<preference name="SplashScreenDelay" value="5000"/>windows
<preference name="FadeSplashScreenDuration" value="500"/>瀏覽器
<preference name="BackupWebStorage" value="none"/>緩存
<preference name="SplashScreen" value="screen"/>服務器
<!-- 不在啓動的時候顯示進度圓圈 -->
<preference name="ShowSplashScreenSpinner" value="false"/>
其中,包含SplashScreenDelay的那一項,就是開機畫面的顯示時間,單位是毫秒
項目部署:
ionic支持iOS和android兩個平臺,默認的ionic項目並無添加這兩個平臺,須要咱們手動添加:
ionic platform add android ,執行完畢後,在開發目錄下的 platform目錄 會多一個android 的目錄;
【ionic platform add android (添加android平臺)
ionic platform remove android (移除android平臺)】
【ionic cli 3.x 中已經改爲了ionic cordova platform add android】
調試環境 :
ionic serve : 在瀏覽器中預覽應用時,在編寫代碼的時候,只須要保存,頁面就會自動刷新,不準手動刷新;
只須要執行ionic serve就能夠實現lievereload;
部署到【移動端】後也能夠開啓livereload的,只須要修改下run命令參數:【 ionic run android --livereload -c -s 】;
這是android的調試模式,不管在虛擬機上仍是在手機上均可以實現livereload,不用每次開發完成編譯再部署!-c是開啓客戶端日誌輸出,-s是開啓服務器端日誌輸出;
ionic emulate 在模擬器中運行Ionic項目;
android打包:
執行命令 : ionic build android -release ; 或者:ionic build android -- --ant ;或者: ionic build android --prod --release ;
cordova命令也能夠打包:cordova build --release android ;
簽名:
找到www/platform目錄下生成的apk包,此時的apk還不能被安裝到手機上,還須要一步簽名操做:
建立key,須要用到keytool.exe (位於jdk1.6.0_24\jre\bin目錄下),使用產生的key對apk簽名用到的是jarsigner.exe (位於jdk1.6.0_24\bin目錄下),
命令行輸入:keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
【說明: -genkey 產生密鑰 -alias demo.keystore 別名 demo.keystore -keyalg RSA 使用RSA算法對簽名加密 -validity 40000 有效期限4000天 -keystore demo.keystore ;】
命令行輸入:jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
(用以上的方式簽名出來的包會報錯,安裝的時候出現解析安裝包出錯)
解決方法:打包時用( ionic build android --prod --release ,使用如下方法簽名)
jarsigner -verbose -keystore qbbusdevelib.keystore -signedjar qdbus.apk -digestalg SHA1 -sigalg MD5withRSA android-release-unsigned.apk qbbusdevelib.keystore
【說明: -verbose 輸出簽名的詳細信息 -keystore demo.keystore 密鑰庫位置 -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,
三個參數中依次爲:簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore ;】
【注意事項】:android工程的bin目錄下的demo.apk默認是已經使用debug用戶簽名的,因此不能使用上述步驟對此文件再次簽名。
正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package導出的apk採用上述步驟簽名。
Android自動簽名: 步驟
在platforms\android目錄新建名爲release-signing.properties的文件,文件內容以下:
storeFile=path/to/keystore
keyAlias=your key aliasstore
Password=your store passwordkey
Password=your key password
使用ionic build --release android編譯便可,在\platforms\android\build\outputs\apk出現android-release.apk文件便是已簽名的安裝包。
在windows下storeFile文件路徑應使用Unix下的目錄分隔符/。
在項目目錄下ionic的cmd指令:
ionic plugin list —— 當前項目的插件列表 ;
ionic plugin remove 插件名 ——先根據上面的list列出插件,而後根據插件名卸載;
ionic plugin add 插件地址 ——這個插件地址能夠是github的項目地址,也能夠是一個文件夾路徑;
ionic –help ——查看幫助文件
下載ionic1項目模板【ionic start newapp --type ionic1】
【ionic start newapp blank --v1】
遇到的問題:
1. 某些時候用npm install -g cordova 安裝某些包失敗的時候: 能夠下載個cnpm : npm install -g cnpm --registry=https://registry.npm.taobao.org ;
執行成功後,輸入 cnpm install -g cordova 安裝;
2. ionic3.0.0下,ionic start建立項目的時候:
✖ Downloading - failed!
Error: Timeout of 25000ms reached for https://github.com/driftyco/ionic-app-base/archive/master.tar.gz
解決方法:
建立項目的時候,先行屏蔽掉依賴的安裝: ionic start myApp --skip-npm
等到項目建立完畢後,進入項目自動建立的myAPP文件夾,再使用npm國內鏡像去安裝依賴:cnpm install --save
安裝npm國內淘寶鏡像命令行:npm install -g cnpm --registry=https://registry.npm.taobao.org
(網上查的,可是仍是沒有解決)
3. 執行:ionic platform add android 時候會提示:
The platform command has been renamed. To find out more, run: ionic cordova platform --help
平臺命令已經被重命名----
(如下是找的參考資料,出現這種狀況的大體緣由:)
Ionic和Ionic CLI是不同的東西。Ionic CLI是基於nodeJS的工具腳手架,開發Ionic應用程序過程當中使用的主要工具;
ionic cli發佈了3.0的版本, 這就是你出現問題緣由之所在, 目前市面上的一切資料中的命令所有沒法正常使用了,建議你降級到ionic cli 2.x的版本;
當用ionic cli命令行建立項目的時候 這個命令行工具(ionic cli)會到github上去下載項目的模板(那個模板在不斷更新), 目前那個模板已經到了3.2.x版本,
這個模板的版本號就是Ionic Framework Version. 要使用這個模板須要在建立項目的時候加--v2的參數 (否則ionic cli會到github上下載ionic1.x的模板)
ionic cli 2默認會建立ionic 1.x的項目, 若是要建立ionic2+(包括3)的項目, 須要多加了個--v2的參數. @2會自動下載最新的2.x版本, 不用給出具體的版本號
確認你當前系統上ionic cli的版本ionic -v, 若是不是 ionic 2.x版本, 使用以下方式降級:
npm uninstall -g ionic
npm cache clean (清除緩存)
npm install -g ionic@2
ionic start your-project blank --v2 --id com.xxx.myproject
(我弄了好屢次,不知道爲何降級不了啊 ,ionic -v 一直是 v3.0.0) 求大神指點!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
這個大概的緣由差很少找到了:
在安裝nodejs時,咱們沒有配置 npm全局模塊路徑:默認的路徑應該在 C:\Users\up\AppData\Roaming\npm這個文件夾中;
而在咱們下次卸載從新安裝nodejs時,又配置了npm全局模塊路徑--這時咱們仍是把C:\Users\up\AppData\Roaming\npm這個文件夾刪除掉;
這時就解決了!!!!!!!!再次下載ionic時 如npm install -g ionic@1.6.5 版本正常了!!!!
這時我運行:ionic build android :結果又悲劇了:
(node:10596) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
看了下網上的資料:說時nodejs的版本問題:此時個人nodejs的版本是 V6.10.1;說是要用版本了5.x.x的穩定版的--------已解決!!
在報錯,就試試 ionic build android -- --ant(我是用的這個)
4.執行 :ionic build android -release 沒有反應?
以前有把node卸載掉重裝最新的,多是cordova沒法本身指向後裝的node致使的。
若是nodejs在裝完cordova後又卸載重裝過的話,那cordova跟ionic最好也卸載重裝過。
最後發現是由於:cordova@5.0.0版本的,升級到cordova@6.2.0就 OK了;