搭建基於Android和PhoneGap的開發環境

IDE需要使用Eclipse 3.4+

安裝 SDK + PhoneGap

1、需要安裝eclipse 3.4+  下載地址>>

2、安裝ADT插件

添加ADT plug,地址爲:http://dl-ssl.google.com/android/eclipse

3、下載並安裝 Android SDK

因爲http://androidappdocs.appspot.com/sdk/index.html 被牆掉了,所以得另外找一個地址

Android SDK 3.1 (以下鏈接轉載至:http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html)

Windows http://dl.google.com/android/android-sdk_r11-windows.zip http://dl.google.com/android/installer_r11-windows.exe Mac OS X(intel) http://dl.google.com/android/android-sdk_r11-mac_x86.zip Linux(i386) http://dl.google.com/android/android-sdk_r11-linux_x86.tgz

然後就是安裝了,需要很久很久….

別忘記了在系統環境變量中,添加android sdk的tools包路徑

(設置好以後可以在cmd下測試一下~)

===========

環境弄好了,開始寫個Demo(詳情可參考PhoneGap的官網,需要先下載PhoneGap-0.9.5)~

1、新建一個Android Project

2、導入需要的包、建議文件目錄

下圖是下載phonegap-0.9.5後解壓出來的包,複製phonegap.0.9.5.jar到第一步建立的工程的libs目錄中

現在工程的目錄(紅色標的爲新建的目錄):

選中 phonegap.0.9.5.jar,右擊 -> Build Path –> Config Build Path…   切換到Libraries選項卡:

添加架包:

這時,可以看到libs目錄與assets、res一樣了,目錄圖標左上角多了個東西

這裏爲了簡單,直接複製phonegap例子中的三個文件到www目錄下:

修改com.phonegap.helloworld包下面的App.java文件:

類繼承於DroidGap(默認繼承類Activity)

註釋 setContentView(R.layout.main); 這一行,改爲 super.loadUrl(file:///android_asset/www/index.html);

修改工程根目錄下的AndroidManifest.xml文件,添加如下內容

<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-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

在application節點下,找到activity節點,添加android:configChanges="orientation|keyboardHidden"

<activity android:name=".exampleapp"                   android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">

完整的文件內容

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.phonegap.helloworld"
      android:versionCode="1"
      android:versionName="1.1">

    
    <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-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
        <activity android:name=".App"
                  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>
    
    <uses-sdk android:minSdkVersion="2" />
    
</manifest>

3、運行項目

右擊項目,選中Run as 並點擊 Android Application ,如果第一次啓動,需要配置模擬器的虛擬設備(可能會遇到問題,配置後無法啓動,把生成的文件.android移動到當前登錄用戶的文檔目錄下就好了,網上也有很多其它解決方法)

如果不出其它意外情況,正常情況下將會看到類似下面的界面(運行起來比較慢、卡,需要點耐心~) :

進入界面(點中左側的“鎖”不放,向右移動,當 Unlock 顏色加深時就解鎖成功了)

需要再等待一會,在看到控制檯出現

Starting activity com.phonegap.helloworld.App on device emulator-5554

之後,會看到下圖所示的界面

至此,第一個web app在模擬器上就成功跑起來了。整體跑下來,感覺還是挺麻煩的,這玩意太消耗內存了,機器會變的很卡,有時半天沒響應,真是需要點耐心

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章