npm install -g ionic
npm install -g cordova
ionic start myproject
cd myproject
ionic platform add Android
ionic build android
ionic emulate android
(build emulate可合併執行: ionic run android )javascript
安裝 xcode及命令行工具
Xcode -> Preferences -> Downloads -> Command Line Toolshtml
要安裝Git、安裝nodejs
若是安裝了ruby,能夠使用brew安裝 nodejs前端
brew install node
npm install -g cordova ionic gulp gulp視狀況選擇是否安裝
npm install iOS-sim
ionic start myApp sidemenu
ionic platform add ios # Add the ios platform to project
ionic build ios # Compile the ios code
ionic emulate ios # Launch the app on an ios Simulator
ionic run ios # Launch on device*
注意不能使用sudo ionic run ios,切記。
若是出現錯誤:java
Failed to fetch platform ios Probably this is either a connection problem,or platform spec is incorrect. Check your connection and platform name/version/URL. Error:EPERM,utime '/Users/name/.cordova/lib/npm_cache/cordova-ios/3.9.2/package.npmignore'
則運行這個命令:node
rm -rf ~/.cordova
刪除 緩存。android
項目建立完,會提示是否須要建立一個ionic帳號,用來推送消息。ios
ionic serve
按提示選擇一個網絡設備。git
能夠看到提示信息:
http://192.168.2.102:8100 使用Chrome訪問這個地址,就能夠使用瀏覽器查看當前程序了。angularjs
提示那個黃條的時候,要刷新一次瀏覽器。算法
chrome://inspect
能夠在這裏定義開發機器與手機的端口轉發等。
ngCordova是在CordovaAPI基礎上封裝了一系列開源的AngularJS服務和擴展。
經過cd 命令,把當前路徑設置到ionic/www/lib下
npm install bower -g
bower install ngCordova路徑看起來是這樣的:
代碼能夠引用這裏的angular替代/lib/ionic下的angular。
在index.html加下ngCordova的引用:
<script src="lib/bower_components/ngCordova/dist/ng-cordova.js"></script>
它是這樣引用的:
var mainApp=angular.module('mainApp',['ionic','ngCordova']);
$ ionic build <PLATFORM> $ ionic emulate <PLATFORM> $ ionic run <PLATFORM> $ ionic run android --livereload -c -s //真機調試能夠實時修改 $ ionic package <MODE> <PLATFORM> $ ionic lib update 更新當前項目的ionic js類庫
最好在config.xml配置一下白名單:
<allow-navigation href="http://www.abcdefg.com/*" />
在ionic/platforms/android下建一個build-extras.gradle
內容:
android { lintOptions { checkReleaseBuilds false } }
ionic build –release android
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
/*說明:-verbose 輸出簽名的詳細信息
-keystore demo.keystore 密鑰庫位置
-signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次爲簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore.*/
zipalign -v 4 demo_signed.apk final.apk