PhoneGap 搭建Android应用环境
-
1. 需求
- Eclipse 3.4+
本教程还有另外一个不使用Eclipse的版本,参照这里 。
-
2. 安装SDK + PhoneGap
下载并安装Eclipse Classic。
下载并安装Android SDK。
下载并安装ADT Plugin。
下载 最新版本的PhoneGap并解压,我们将使用其中的Android目录。
-
3. 新项目设置
- 启动Eclipse,然后在菜单“File”下选择“New > Android Project”。
- 在项目根目录下,创建两个新目录:
- /libs
- /assets/www
- 复制phonegap.js(从PhoneGap解压缩后的Android目录中,将解压缩后的带版本号的js文件名修改为phonegap.js)到/assets/www。
- 复制phonegap.jar(从PhoneGap解压缩后的Android目录中)到/libs。
- 复制xml整个目录(从PhoneGap解压缩后的Android目录中,包括一个plugins.xml)到/res。【v1.0 rc2以上】
- 对Eclipse的src文件夹中的主要Java文件进行少量调整:(如下图)
- 将class的继承由Activity改为DroidGap
- 将setContentView()替换为super.loadUrl("file:///android_asset/www/index.html");
- 添加import com.phonegap.*;
- 移除import android.app.Activity;
- 在这里你可能会遇到Eclipse找不到phonegap-1.0.0.jar的错误。在这种情况下,右键单击/libs文件夹找到Build Paths/ > Configure Build Paths。然后在Libraries标签页中添加phonegap-1.0.0.jar到项目中。如果Eclipse不是很稳定,你需要点击F5刷新一次项目。
- 右键单击AndroidManifest.xml并选择Open With > Text Editor。
- 将下面的权限设置拷贝到versionName之后:(如下图)
<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" /> - 在AndroidManifest的activity标签中添加
android:configChanges="orientation|keyboardHidden"
。(如上图)
-
4. Hello World
在 “/assets/www”目录中新建文件“index.html”,并粘贴如下代码:
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html> -
5A. 部署到模拟器
- 右键单击项目节点选择Run As,然后点击Android Application。
- Eclipse将要求你选择一个合适的AVD,如果没有设置的话,你需要创建一个AVD。
-
5B. 部署到设备
- 确认设备已经勾选USB debugging选项,并已将设备连接到电脑。(设置 > 应用程序 > 开发)
- 右键单击项目节点选择Run As,点击Android Application。
-
完成!