ionic昇華過程7-cordova工具
一。cordova簡介
Cordova 是使用HTML,CSS和JS構建移動應用的平臺。我們可以認為Cordova是一個工具,用於將我們的網路應用程式(javascript)與本機移動功能連線。預設情況下,Web應用程式不能直接呼叫本機移動功能。這就是Cordova進來的地方。它為網路應用和移動裝置之間的連線提供了橋樑(cordova外掛)。 通過使用cordova,我們可以通過html中js呼叫方式使用攝像頭,地理位置,檔案系統和其他本地移動功能。
二。cordova常用操作一覽
1.安裝cordova
npm install -g cordova
2 。建立cordova專案
cordova create hello com.example.hello HelloWorld
命令語法是:
cordova create 建立目錄 app的id app的名稱
config.xml :用於定製專案的行為 比如專案id 名稱 作者 能使用的intent(android的意圖),app訪問的首頁對應html檔案(比如<content src="index.html" />) 可以生成的平臺 可以使用的外掛等 具體配置 參考(http://cordova.apache.org/docs/en/latest/config_ref/index.html)
www :是程式設計師編寫css js和html的位置 index.html是config.xml配置的首頁 css目錄是樣式表 fonts字型 img圖片 js 指令碼
www目錄下的所有檔案最後都會生成到不同的platforms下 比如 android平臺
ios會生成在platforms/ios/www目錄下 platforms:所有的原始碼都會構建到這個目錄下
plugins: 所有的外掛都會被新增到這個目錄
hooks:定義系列指令碼 使用者在某些特定時間觸發 比如before_platform_add 表示某些平臺被加到專案中觸發某個指令碼 比如(config.xml)在android平臺 構建之前 執行src指定的指令碼具體 參考
<platform name="android"> <hook type="before_build" src="scripts/wp8/appAndroidBeforeBuild.bat" /> </platform>
3。新增編譯平臺 構建 打包
最終開發的h5專案都需要打包編譯 不同的平臺編譯不同的檔案 android apk檔案 ios的是ipa 檢視所有支援的平臺
C:\Users\Administrator\hello>cordova platform ls
Installed platforms://已安裝的平臺
android 5.2.2
Available platforms://可以安裝的平臺
browser ~5.0.1
ios ~4.5.4
osx ~4.0.1
windows ~5.0.0
www ^3.12.0
》cordova-android 不同的cordova-android版本對應的android模擬器的api版本不一樣
ordova-android 版本 | 支援的 Android API-級別 |
---|---|
5.X.X | 14 - 23 |
4.1.X | 14 - 22 |
4.0.X | 10 - 22 |
3.7.X | 10 - 21 |
在專案目錄下 直接使用
cordova platform add android
會安裝最新版的 cordova-android 比如
將來安裝的android sdk就必須是最新版 為了拷貝app的相容性 我還是選擇低版本的好些 比如 安裝
cordova platform add [email protected]
》JDK
安裝完成 cordova-android和jdk後 開始編譯打包
cordova build android 生成apk檔案
發現報錯 沒有找到對應的android sdk 23[email protected] 需要使用 sdkmanager安裝23(android6.0)
下載後目錄結構如下
開啟SDK Manager(預設連線google的伺服器所以 更新sdk速度慢 可以直接設定一個android代理 百度搜索) 設定完成後 點選選單 Packages Reload 就會自動重新整理列表 選擇android6.0 安裝(可能需要10-20分鐘) 將下載好的tools和platform-tools兩個目錄新增到環境變數 PATH中 將當前的android目錄 新增到環境變數 ANDROID_HOME中 再次去build
cordova build android 生成apk檔案
發現自動使用maven下載gradle編譯環境
C:\Users\Administrator\hello>cordova build android
ANDROID_HOME=C:\Android\android-sdk
JAVA_HOME=E:\jdk1.8.0_65
Incremental java compilation is an incubating feature.
BUILD SUCCESSFUL
Total time: 1.601 secs
Built the following apk(s):
C:/Users/Administrator/hello/platforms/android/build/outputs/apk/android-debug.apk
使用模擬器執行
cordova emulate android 直接使用模擬器執行
cordova run android 尋找是否有物理機裝置 沒有使用模擬器