1、下載最新的PhoneGap版本
下載地址:http://phonegap.com/download/ (我用的是1.0版本的,新版本應該和老版本配置區別不大,請大家注意。)
2、打開PhoneGap下的Android文件夾,我們看到如下文件:
其中紅色的3個文件是我們用到的文件了。
3、打開eclipse新建項目:
File—》New—》Other...
創建 Android Application Project 項目。
4、然后再assets目錄下創建個www文件夾。
5、然后把我們下載的PhoneGap的Android下的3個對應的文件拷貝到我們的項目目錄下。
phonegap-1.0.0.js 拷貝到 assets——》www 文件夾下
phonegap-1.0.0.jar 拷貝到 libs 文件夾下
xml 文件夾 拷貝到 res 文件夾下,然后我們刷新項目如下
6、打開我們的.java文件進行如下修改:
(1) 刪除 import android.app.Activity; 引用
(2) 增加 import com.phonegap.*; 引用(注意:如果是2.0版本以上版本的,請引入import org.apache.cordova.*; )
(3) 把類 Activity 改為 DroidGap
(4) 把setContentView(R.layout.activity_main); 改為 super.loadUrl(file:///android_asset/www/index.html);
(5) 默認的onCreate 方法為 protected 改為 public
7、如果上步修改后有報錯的點擊libs文件夾下,找到我們添加的phonegap的.jar包右鍵。選擇 Build Path->Add to Build Path (然后應該就不會報錯了)
8、找到我們的項目文件中的.xml文件,右鍵Open With——》Text Editor打開,添加如下代碼:
<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" />
修改
<activity android:name="com.example.hellphone.MainActivity" android:label="@string/app_name" >
添加一行android:configChanges="orientation|keyboardHidden" 如圖:
最終.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.hellphone" android:versionCode="1" android:versionName="1.0" > <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" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.hellphone.MainActivity" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
9、在“/assets/www”目錄中新建文件index.html ,並粘貼如下代碼:
<!DOCTYPE HTML> <html> <head> <title>PhoneGap</title> <script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script> </head> <body> <h1>Hello World</h1> </body> </html>
注意上面的:phonegap-1.0.0.js請根據自己的phonegap版本進行修改。
10、選擇項目,Run As ——》Android Application
- Eclipse將要求你選擇一個合適的AVD(模擬器),如果沒有設置的話,你需要創建一個AVD。
AVD第一次運行,速度比較慢,請大家耐心等待幾分鍾。最終運行結果如下:
11、加載到設備
- 確認設備已經勾選USB 調試選項,並已將設備連接到電腦。(設置 > 應用程序 > 開發)
- 右鍵單擊項目節點選擇Run As 然后點擊 Android Application
至此,PhoneGap開發環境已經配置完畢,后續的大家可以根據需要自行開發了。
備注:如果沒有配置AVD(模擬器) 的,參考http://jingyan.baidu.com/article/a681b0ded7e7573b1943465b.html
1、點擊上圖圖標,彈出對話框,點擊New新建一個AVD,輸入名稱及相應參數后點擊OK,創建一個AVD模擬器。
12、中文顯示需進行如下修改。默認Eclipse的編碼格式為GBK,所以中文顯示出來是亂碼。
項目右鍵—》Properties彈出如下框。
把編碼格式改為UTF-8
最后我們的html頁面中加入:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
全部如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head> <body> <h>你好世界</h> </body> </html>
最終我們的運行結構