你們都知道phoneGap跨平臺移動框架,支持平臺有 IOS/android/windows8/……等主流移動操做系統! javascript
接如今就來搭建使用phoneGap開發Android的HelloWorld程序! html
IDE:IntelliJ IDEA(如何安裝我就不說了) java
因爲IntelliJ IDEA自己帶有Android開發插件,因此能夠直接New Android project…… android
File - New project - Create project from scratch - Next apache
若是這裏沒有 Android 模版不用着急,只是你沒有安裝使用Android插件,看下圖加載使用Android插件便可 windows
在出現的界面中選擇Next一直到出現以下圖選擇Android而後Finish便可返回上一層新建Android模版建立project app
(PS:通常默認會所有選中,那樣啓動時會所有加載,固然啓動時間/內存你懂的。) 框架
新建項目遇到下圖是要添加JAVA SDK的,也就是jdk,選擇你安裝JDK的路徑便可,這裏我使用的版本是jdk 1.6.0_25 ide
而後下一步你會遇到一個錯誤,沒有Android SDK怎麼開發呢?不怕,看圖: spa
接下來會進入配置SDK界面
在下面的界面裏選擇你的AndroidSDK目錄便可
而後選擇使用的JAVA SDK版本 androidSDK版本(會讀取你選擇的AndroidSDK目錄中全部的版本 供你選擇使用)
而後Finish就Ok了,IDE會自動建立加載……
出現上圖這個界面,不要怕,只是提示你是否每次在啓動的時間顯示使用技巧,能夠無論直接close,你也能夠把鉤鉤去掉下次就沒有咯……
android項目搭建大功告成。不過如今別高興太早,雖然Android項目建立成功了,可是你尚未Android模擬器,跟我去建立模擬器吧!
選擇 Edit Configurations……而後展開Android application選擇你的HelloWorld 如圖
這裏要注意,Name是指建立模擬器的名字,可是Target選擇你建立模擬器的版本,記住,要大於等於你剛剛建立項目時使用的Android版本,我這裏就選擇2.3.1和項目版本一致
點擊 Create AVD模擬器就建立了,而後回去選擇下拉框就會有你建立的模擬器選擇 而後OK ,這個時間你能夠啓動看看模擬器了……
進入將剛剛下載並解壓的PhoneGap包裏lib目錄下Anroid文件中,咱們須要的資源都在這個目錄下。將cordova-xxxxx.js這個js文件(具體名稱視當時下載的版本而定)copy到/assets/www目錄下(若是沒有就在assets下面新建一個www文件夾、若是連assets文件夾都沒有那就在項目下面建一個assets文件夾,再建www文件夾), 把cordova-xxxx.jar文件copy到/libs目錄下(沒有就在項目下新建libs文件夾,右鍵add as library)。再把xml目錄copy到android項目的res目錄下。
目錄結構最終看起來是這樣的:
在/assets/www下創建index.html文件,內容以下:
<!DOCTYPE HTML> <html> <head> <title>PhoneGap</title> <script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.js"></script> </head> <body style="text-align: center;background-color: #9acd32;"> <h1>Hello World PhoneGap For android</h1> </body> </html>
將如下權限配置的xml內容copy到AndroidManifest.xml文件manifest標籤內:
<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
將如下內容添加到AndroidManifest.xml文件的activity標籤中:
這是爲了保證機器在橫豎屏切換的時候不會從新執行Activity的onCreate方法;
android:configChanges="orientation|keyboardHidden"而後修改src下面的myActivity文件 內容以下:
package com.example; import android.os.Bundle; import org.apache.cordova.DroidGap; public class MyActivity extends DroidGap{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); super.loadUrl("file:///android_asset/www/index.html"); //setContentView(R.layout.main); } }
如今你能夠運行你的這個項目了,若是出現以下內容說明你的環境搭建OK了……(若是你寫了中文出現了亂碼、不要怕若是你打包在真實機器上運行是不會亂碼的)
做者:郟高陽 Fake Mr