使用Cordova包裝你的Web,建立你的第一個APP

Cordova是一個開放源碼移動開發框架。它允許您使用標準的web技術如HTML5、CSS3和JavaScript進行跨平臺開發。

前身是Phonegap,這樣說可能很多人心裡有底了。或許有些人會說,用這種方式包裝WedView成為APP效能不是很差嗎?

實際上以目前手機的硬體與效能,已經跟以前不一樣了,甚至有些幾乎接近個人電腦(而且將來還可能會更好),加上code好好寫的話,性能也不至於到不能看的程度(實際上很多性能不好的APP都是因為code沒有好好寫,比方沒有好好的使用硬體加速,或是記憶體與事件流程沒有好好管理..)

雖說性能依然不能跟原生做比較,但是由於開發成本差異實在太大了,某些情況下直接使用Cordova包裝成APP說真的也可以是一種選擇。

如果你已經是一個Web開發者,Cordova真的可以幫你省下非常說的時間。

本篇針對在Windows下第一次使用Cordova輸出一個Android APP做說明。(在這之前你可能需要先學會如何使用nodejs工具命令)。Cordova使用上真的相當容易,比較麻煩的就是安裝流程繁瑣,最近因為工作需要,又再把環境建立起來,順便寫下來給需要的人參考。

安裝Crodova

安裝Cordova全域命令

1
npm i -g cordova

安裝JAVA開發工具箱(JDK)

以下針對Android,都是繁瑣的步驟,按照步驟過了這裡就可以快樂開發了XD

首先安裝jdk

Java SE Development Kit 8 Downloads

下載windows版本,安裝後設定下面這些系統變數,不會的看這裡

  • PATH 加上你剛剛的jdk路徑
1
C:\Program Files\Java\jdk1.8.0_101\bin

這是我的別照抄了,就是你剛剛裝的路徑,進去bin資料夾

  • 增加 JAVA_HOME 變數

新增一個變數叫做JAVA_HOME設為jdk路徑

1
C:\Program Files\Java\jdk1.8.0_101

這是我的別照抄了,就是你剛剛裝的路徑

安裝Android SDK

這步驟下載花很多時間,忍耐一下…

  • 首先下載安裝Android sdk tools

SDK Tools Release Notes

這個工具會幫你管理Android sdk,之後SDK用它來幫你下載。

  • 加上Android sdk tools系統變數

Path 加上Android sdk tools的路徑

1
2
C:\Users\user\AppData\Local\Android\Sdk\tools
C:\Users\user\AppData\Local\Android\Sdk\platform-tools

一樣別照抄,我不知道你的tools裝在哪裡,有兩個路徑,別漏掉了。

  • 新增一個 ANDROID_HOME 變數

新增 ANDROID_HOME 變數

1
C:\Users\user\AppData\Local\Android\Sdk

一樣別照抄,設為你的tools路徑,很多人都少了這個…

到這裡後,安裝全都完成了,Android sdk tools預設幫你安裝最新的SDK,不過Cordova可能不會用最新的,你可以再使用Android sdk tools安裝需要的sdk版本

終於可以開始輸出第一個專案試試XD

建立一個Android專案

  • 建立一個專案,以下針對Android
1
cordova create hello com.myName.hello HelloWorld

說明一下上面的內容

cordova create hello 建立一個專案資料夾叫做hello

com.myName.hello 這是一個命名空間,在手機上每個app都會有自己的命名空間,一般而言會像網址反向。

HelloWorld 你的APP名稱

  • 新增Android平台

剛剛的動作,你應該已經產生了一個hello專案資料夾

1
2
cd hello
cordova platform add android

建立一個android平台的專案包(另外當然還有ios,win8….這裡不多說明)

  • 打包app

我們先打包一個空專案

1
cordova build

耐心等等待一下,如果沒有錯誤,那恭喜你,你已經建立好開發環境了

如果遇到錯誤,一班都是以下問題

  1. path等的一些系統變數,忘了設定,或是設錯
  2. Android sdk tools裝的SDK版本不對,這個看錯誤訊息應該可以知道他要什麼版本 (platform android target 問題)

你可以把輸出的apk裝在你的手機上看看,應該會看到一個cordova首頁的畫面。

logo.png

聰明的你應該知道其實就是打包 hello\www 裡面的內容

另外每次輸出都要安裝很麻煩,你可以打開手機的偵錯模式,然後接上你的電腦,之後只要

1
cordova run

就可以直接裝到你的手機上

如果還有不清楚可以去參考官網