單刀直入>>>>>>>>>>>>>>
一,配置開發環境:
1、首先需要安裝Node.js,確認電腦已安裝了node.js,否則請下載安裝node.js;
檢查安裝是否成功打開命令行輸入一下兩個命令(輸出版本號就是成功)
node -v
npm -v
下載node.js:https://nodejs.org/download/ 並雙擊安裝
2、安裝cordova和ionic
Cordova and Ionic command-line tools 的安裝,直接在終端使用命令
windows:npm install -g cordova ionic
mac或linux: sudo npminstall -g cordova ionic
ionic emulate ios 或者 ionic run ios
安裝注意操作系統用戶要有密碼哦,不然安裝過程中提示你輸入密碼,直接回車是通過不了的
更新:npm update -g cordova
卸載:npmuninstall cordova -g
輸入如下命令測試是否安裝成功
cordova -v
ionic -v
這一步的主要問題是cordova安裝包的鏡像問題,由於鏡像在國外國內網絡不行,如果出現安裝失敗的情況,這就要使用代理,在命令行輸入一下兩個命令進行嘗試
npm config set registry http://registry.cnpmjs.org
sudo npm install -g cordova
第一個命令式配置代理
第二行全局安裝cordova -g代表全局,需要root權限所以要sudo,需要管理員密碼
好了,這時候該安裝的都安裝,下面來建一個ionic工程吧
二、IONIC安卓環境搭建:
1,安裝jdk
先搞清楚自己是否已經安裝,在命令行下:java -version,
如果有版本信息輸出,則已經安裝了;否則請到下面地址處下載:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、下載ant: HYPERLINK
http://ant.apache.org/bindownload.cgi
增加環境變量 “/etc/profile”
(環境變量在當前用戶根目錄下的.bash_profile裏,如果之前沒有設置過默認是沒有.bash_profile文件的,可以手工創建一個。)
export ANT_HOME=/Users/zhangkui/Documents/ionic/Android/apache-ant-1.9.7
export PATH=${PATH}:${ANT_HOME}/bin
相關命令:
sudo -i (root)
vi filename
a、修改//輸入i 進入編輯模式進行修改
b、保存//:q! 退出不保存 :wq! 退出保存
3、下載安卓sdk,並添加環境變量
export ANDROID_HOME=/Users/zhangkui/Documents/ionic/Android/android-sdk-macosx
export ANDROID_TOOLS=$ANDROID_HOME/tools
export ANDROID_PLATFORM_TOOLS=$ANDROID_HOME/platform-tools
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLSone
4、安裝對應的sdk版本
點擊android-sdk-macosx/tools下面的android可以打開android sdkmanager,在這裏選擇我們要安裝的sdk版本,
注意:由於國2內2網2絡2問2題,列表打開會很慢,"ssl-google"。。。連不上,顯示不了我要裝的sdk版本,以至於我去找v2p2n2翻2牆,但是最後不發現不需要的,過了連不上的那一步,最終還是能把所有的版本刷出來的,但是要耐心等待很久,真的很久很久。。。
添加安卓模擬器:
android sdkmanager—tools—Manager…
5、給項目添加安卓
ionic platformadd android
查看android版本信息:android listtargets
一開始我下載的安卓sdk沒有安裝21這個版本,因此報錯了
[Error: Pleaseinstall Android target: "android-21".
Hint: Open the SDK manager by running: /Users/apple/Documents/work/adt-bundle-mac-x86_64-20131030/sdk/tools/android
You will require:
1. "SDK Platform" for android-21
2. "Android SDK Platform-tools (latest)
3. "Android SDK Build-tools" (latest)]
參考上一步進行相應版本的安裝即可
根據本地SDK環境配置android版本!!!
First of all,sorry for my dummy english. I just had the same problem and I fix it changingthe target:
# Projecttarget. target=android-22 (I had setthis to android-23)
This should bedone in two files:
yourApp/platforms/android/project.properties yourApp/platforms/android/CordovaLib/project.properties
Also themanifest should be updated:
<uses-sdkandroid:minSdkVersion="16" android:targetSdkVersion="23"/>
過程還還出現了下面的錯誤
Error:ANDROID_HOME is not set and "android" command not in your PATH. You mustfulfill at least one of these conditions.
給目錄設置寫權限既可以解決 chmod -R 777android-sdk-macosx
4、編譯
ionic build android
中間發生錯誤:
ERROR : No emulatorimages () found.
添加安卓模擬器:
android sdkmanager———tools———Manager…
編譯成功後會在platforms/android/ant-build目錄下生成apk文件,直接傳到手機上就可以安裝運行啦
5、模擬器運行
ionic emulate android
這個很慢,其實最後開發中基本都不用模擬器運行,直接在瀏覽器進行調試就ok了
三、IONIC IOS環境搭建:
因爲是在mac系統下進行配置,所以容易多了
1、安裝ios模擬器
sudo npminstall -g ios-sim
2、ionic 插件安裝與卸載
ionic plugin list //列出所有已安裝插件
ionic pluginremove 插件名 //卸載插件
ionic plugin add 插件地址 //安裝插件
3,添加ios平臺、編譯、模擬器運行
ionic platform add ios
ionic build ios
選擇模擬器型號:ionic run ios _target iPad-Air
四,項目構建
在合適的位置執行命令創建工程 ionicstart myApp,要稍微等待一會完成工程創建,默認會創建一個有tab頁的模板工程,如果工程創建成功,我們cd myApp目錄下,執行命令ionic serve,會自動打開瀏覽器顯示頁面,詳細如下:
1、執行接下來的命名,創建一個新項目
ionic start myFirstApp sidemenu
其中“myFirstApp”是我們的項目的名稱,"sidemenu"是項目模板,其中可用的模板還有:
blank ................ A blank starter project for Ionic
complex-list ......... A complex list starter template
maps ................. An Ionic starter project using Google Maps and a side menu
salesforce ........... A starter project for Ionic and Salesforce
sidemenu ............. A starting project for Ionic using a side menu with navigation in the content area
tabs ................. A starting project for Ionic using a simple tabbed interface
tests ................ A test of different kinds of page navigation
2、cd到項目的根目錄下,安裝各個插件(視項目定)
3、執行接下來的命令來添加平臺:
----ionic platform add ios
<移除平臺:ionic platform remove ios>
這樣執行完畢後就已經將iOS平臺添加到項目中了,即可完成iOS原生代碼的添加;
ionic是跨平臺的開發框架,當然也可以執行如下命令添加Android平臺,只是配置環境時的命令不需要sudo;
ionic platform add android
4、將剛剛創建的項目安裝到iPhone中
ionic build ios
然後再輸入:
ionic run --emulate ios / ionic run iOS
就會自動打開iPhone模擬器並進行安裝。
或者在項目的根目錄下運行模擬器任務
ionic run ios --target iPhone-6
5、若是android項目安裝到Android設備或模擬器上,同樣類似的方法:
ionic build android
然後輸入:
ionic run --device android
或者輸入:
ionic run --emulate android
這樣會安裝到android自帶模擬器上。
6、若要在網頁中預覽剛纔的項目,執行
ionic serve
即可預覽項目。
在終端中輸入q會停止服務。
五、常用插件
cordova plugin add com.ionic.keyboard &&
cordova plugin addorg.apache.cordova.console &&
cordova plugin add org.apache.cordova.device &&
cordova plugin add org.apache.cordova.device-motion&& cordova plugin add org.apache.cordova.file &&
cordova plugin add org.apache.cordova.file-transfer&&
cordova plugin add org.apache.cordova.geolocation&&
cordova plugin add org.apache.cordova.inappbrowser &&
cordova plugin addorg.apache.cordova.network-information &&
cordova plugin add org.apache.cordova.splashscreen&&
cordova plugin addorg.apache.cordova.camera &&
cordova plugin add com.google.cordova.admob
六,mac 下真機調試 android 手機
第一步: 查看usb設備信息
在終端輸入:system_profilerSPUSBDataType
可以查看連接的usb設備的信息
比如我的usb信息如下(部分內容):
Spreadtrumphone:
ProductID: 0x5d04
Vendor ID: 0x1782
Version: 2.29
SerialNumber: 19761202
Speed: Upto 480 Mb/sec
Manufacturer: Spreadtrum
LocationID: 0xfa120000 / 6
CurrentAvailable (mA): 500
CurrentRequired (mA): 500
查看到我的android手機的VendorID: 0x1782,記住這個id
第二步: 創建、修改adb_usb.ini文件
輸入: vi ~/.android/adb_usb.ini命令,在打開的 adb_usb.ini文件 中添加0x1782, 然後保存退出或者使用其他的文本編輯器去進行修改都可以的(注:請保證ini裏面沒有空行,否則會有錯誤 ADB server didn't ack)
注意:第一次添加時,adb_usb.ini文件並沒有,需要自己創建一個,輸入內容後保存就好了,對應的路徑如下:
/Users/你的用戶/.android/adb_usb.ini
備註:
.android目錄是隱藏的,需要開啓隱藏目錄顯示。
命令行輸入顯示Mac隱藏文件的命令:defaults write com.apple.finderAppleShowAllFiles -bool true
(隱藏Mac隱藏文件的命令:defaults write com.apple.finderAppleShowAllFiles -bool false)
輸完單擊Enter鍵,退出終端,重新啓動Finder就可以了
重啓Finder:鼠標單擊窗口左上角的蘋果標誌-->強制退出-->Finder-->重新啓動
第三步:重啓adb ,找到adb這個命令,
adb kill-server
adb start-server
adb devices //查看已連接的設備
就可以看到列表了!
第四步:進入DDMS,已經可以找到的我的android手機了,開始調試吧!
有時 adb devices不能顯示連接設備,需要拔掉數據線,多插幾次,並且退出終端,然後重新打開,再輸入命令就能發現連接的設備
然後就可以通過:ionic run android-device 進行真機調試了
七、 ionic android打包
App用ionic開發完成後,就可以打包發佈市場啦。發佈一個App可以上傳市場的包,關鍵要做兩樣東西:
一是打一個release包;
二是給包簽名。
命令不多,但命令比較長,記錄一下。
1,打包
首先生成 release包
cordova build--release android # 記得加上--release 參數,打包正式包;不然會打出debug包,ionic bulidandroid //打包測試包
執行完這條命令後,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-keysize 2048 -validity 10000
執行後需要回答一些問題,正常填寫就好了
Enterkeystore password:
Re-enternew password:
What isyour first and last name?
[Unknown]: test
What is thename of your organizational unit?
[Unknown]: test
What is thename of your organization?
[Unknown]: test
What is thename of your 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.keystoreHelloWorld-release-unsigned.apk alias_name
執行後會生成一個已簽名成功的apk,你可以用這個包發佈市場。
4,優化(可選)
使用Zipalign優化,Zipalign是一個android平臺上整理APK文件的工具,它首次被引入是在Android 1.6版本的SDK軟件開發工具包中。它能夠對打包的Android應用程序進行優化, 以使Android操作系統與應用程序之間的交互作用更有效率,這能夠讓應用程序和整個系統運行得更快。
命令如下:
zipalign-v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
Done Done Done