改自:http://www.jb51.net/html5/80728.html
Andriod下架设phoneGap环境。
1.下载phoneGap
http://phonegap.com/download/#autodownload
解压出来,找到lib/android目录。
2.在eclipse或者Android Studio下新建Andriod项目,这个跟普通项目一样。
3.在assets目录下新建文件夹“www”
(a) Ecplise:
(b)Android Studio:
把lib/android目录下的cordova-2.6.0.js复制到这个目录下。把cordova-2.6.0.jar复制到libs目录下(并添加为lib)。
4.在www目录下新建一个html文件index.html。我们的界面就要在这里建立了。
index的代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<script type="text/javascript" src="cordova-2.6.0.js"></script>
<title>Hello World</title>
<script type="text/javascript">
var test = function (){
alert("test()");
}
</script>
</head>
<body>
<input type="button" value="change" onclick="test()">
</body>
</html>
5.把lib/android目录下的xml文件夹整个复制到res面目下
以下是我的config.xml代码:
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.helloCordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">
<name>Hello Cordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<feature name="App">
<param name="android-package" value="org.apache.cordova.App" />
</feature>
<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.GeoBroker" />
</feature>
<feature name="Device">
<param name="android-package" value="org.apache.cordova.Device" />
</feature>
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.AccelListener" />
</feature>
<feature name="Compass">
<param name="android-package" value="org.apache.cordova.CompassListener" />
</feature>
<feature name="Media">
<param name="android-package" value="org.apache.cordova.AudioHandler" />
</feature>
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.CameraLauncher" />
</feature>
<feature name="Contacts">
<param name="android-package" value="org.apache.cordova.ContactManager" />
</feature>
<feature name="File">
<param name="android-package" value="org.apache.cordova.FileUtils" />
</feature>
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.NetworkManager" />
</feature>
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.Notification" />
</feature>
<feature name="Storage">
<param name="android-package" value="org.apache.cordova.Storage" />
</feature>
<feature name="FileTransfer">
<param name="android-package" value="org.apache.cordova.FileTransfer" />
</feature>
<feature name="Capture">
<param name="android-package" value="org.apache.cordova.Capture" />
</feature>
<feature name="Battery">
<param name="android-package" value="org.apache.cordova.BatteryListener" />
</feature>
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.SplashScreen" />
</feature>
<feature name="Echo">
<param name="android-package" value="org.apache.cordova.Echo" />
</feature>
<feature name="Globalization">
<param name="android-package" value="org.apache.cordova.Globalization" />
</feature>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser" />
</feature>
<plugins>
<plugin name="Device" value="org.apache.cordova.Device"/>
</plugins>
</widget>
注意自定义插件写在plugins中:例如
<plugin name="CalendarPlugin" value="com.phonegapdemo.MyPlugin"/>
6.修改AndroidManifest.xml添加用户权限
在<manifest >标签的内的最前部添加如下代码
复制代码代码如下:
<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-permission android:name="android.permission.BROADCAST_STICKY" />
7.修改MainAcivity.java
复制代码代码如下:
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
}
8.build一下会有错误,这是因为前面的cordova-2.6.0.jar没有添加到buildpath里面去。添加buildpath。
继续build就过了。
最后run一下:
这样一个phonegap的Andriod程序就搞定了。明天把昨天的那个HTML5画板移植过来。