【ionic】framework跨平臺開發,從環境搭建到項目開發

單刀直入>>>>>>>>>>>>>>

一,配置開發環境:

    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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章