Eclipse、Android、PhoneGap 安装配置(配置篇)
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>
最终我们的运行结构