- 搭建android开发环境
- 创建一个Android project
- 加入要依赖的文件
- 修改启动文件
- 修改AndroidManifest.xml
- Run App
1.搭建android开发环境
- JDK安装
- Eclipse安装
- Android SDK安装
- ADT安装
具体详细安装过程可以参考:http://www.cnblogs.com/skynet/archive/2010/04/12/1709892.html
2.创建一个Android project
- 通过File -> New -> Project 菜单,建立新项目"Android Application Project"
- 填写项目名称、相关的SDK版本支持(如下图)
- Next: Configure Project,是否自定义图标,是不创建一个Activity, 我们勾选Create activity (其实这里我们用不到这个Activity,后面还是会修改掉,为了便于我测试一下环境是否正常,我先创建一个)
- Next: 如果你勾选了Create activity 就会让你选择一个activity 类型,我们选择一个空白的: Blank Activity。
- Next:输入Activity name ,Layout name 。
- Finish:这样我们一Android 的项目创建完成
- 运行一下,项目右键->Run as-> Android Application ,如果最终模拟器运行如下就证明我们的 Android 环境正常。
3.加入要依赖的文件
- 下载Cordova(PhoneGap)下载地址 http://cordova.apache.org/ 我当前下载的最新版本是3.5.0
- 解压下载文件,我们可以看到一个cordova-android目录
-
这里提出几个要注意的事项:
1. 在项目中要引入cordova.jar 包,这个包在Phonegap中是有的,但在cordova中没有,要在源码下编译生成,然后再引入到项目中。
2. 教程上有
Once the Eclipse window opens, a red X may appear to indicate unresolved problems. If so, follow these additional steps:
- Right-click on the project folder.
- In the resulting Properties dialog, select Android from the navigation pane.
- For the project build target, select the highest Android API level you have installed.
- Click OK.
- Select Clean from the Project menu. This should correct all the errors in the project.
- 使用eclipse编译CordovaViewTestActivity项目,然后会生成cordova.jar,将此jar包放到新项目libs 目录下。
- config.xml 文件连同xml 目录放到res 目录下
- 在项目assets目录下我们创建一个www 文件,把 cordova.js 放到改目录下,同时我们创建一个首页文件 index.html ,编辑内容如下:
<!DOCTYPE HTML> <html> <head> <title>PhoneGap</title> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> </head> <body> <h1>Hello World</h1> </body> </html>
- 把我们默认创建的MainActivity.java类继承 CordovaActivity(注意:2.7版本后不再继承DroidGap)
- 修改onCreate函数为public, 加载我们的首页文件:super.loadUrl(Config.getStartUrl()),等同于:super.loadUrl("file:///android_asset/www/index.html") ,只是这里的 file 文件被我们写在了 xml/config 文件中<content src="index.html" />
- 删除不需要的代码,最终该类修改如下:
package com.example.helloworld;
import org.apache.cordova.*;
import android.os.Bundle;
public class MainActivity extends CordovaActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
super.loadUrl(Config.getStartUrl());
}
}
- 设置supports-screens,应用占满整个屏幕:
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="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.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_VIDEO"/> <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-permission android:name="android.permission.BROADCAST_STICKY" />
以上配置信息添加到项目的AndroidManifest.xml文件中,添加到uses-sdk和application之间
6.Run App
- 项目右键->Run as-> Android Application ,如果不出问题你就会得到以下界面:(PhoneGap Helloworld 就完成了)