第一部分是指在Android系統的手機上直接寫PHP指令碼代碼並立即運行;
第二部分則繼續講解如何把寫好的PHP指令碼代碼打包成akp安裝檔案。
首先,在手機上安裝兩個apk包。
一個是SL4A(Scripting Layer for Android),這個是Android的指令碼環境,前身是ASE(Android Scripting Environment),Android系統上的所有指令碼都將在這個環境下執行,下載地址:sl4a_r3,下載後將副檔名改為.akp即可,也可以到Google官方下載http://code.google.com/p/android-scripting/downloads/list。(註:如果你只關注第二部分可跳過這裡)
另一個是PFA(PHP for Android),這個是為Android系統提供PHP指令碼支援的安裝包,下載地址:PhpForAndroid_r1,同樣地下載後將副檔名改為akp即可,官方下載http://phpforandroid.net/start。
運行SL4A,介面如下:
這裡提供了一些執行個體,我們執行hello_world.php試試:
選擇第二個選項,運行結果如下:
指令碼已成功執行了。
我們自己建立一個指令碼試一下:
我們把第四行的$droid->getInput修改為dialogGetInput(因為PFA的某一次版本更新後在API裡面用dialogGetInput取代了getInput):
選擇API Browser可以看到所有提供我們使用的API:
菜單上選擇Save & Run,運行結果如下:
好了,第一部分至此完成。
如何將PHP指令檔打包成apk安裝包呢,本人蔘考了Google官方提供的步驟(http://code.google.com/p/android-scripting/wiki/SharingScripts)並搜集了網上其他的一些相關教程,總結如下:
一、搭建好Android開發環境(jdk+eclipse+android sdk)。
說明:由於本人沒接觸過java,也是第一次使用eclipse,講解若有幼稚的地方高手不要見笑哈。
1、下載java JDK,進入該網頁http://java.sun.com/javase/downloads/index.jsp(或者直接點擊下載)如下圖:
選擇 Download JDK 只下載JDK,無需下載jre,然後安裝完成即可,無需配置環境變數(可在命令列執行java -version驗證一下)。
2、下載eclipse,進入該網頁http://www.eclipse.org/downloads/(或者直接點擊下載)如下圖:
我們選擇第一個(即eclipse IDE for java EE Developers),下載完成後解壓即可。
3、下載Android SDK,這裡有兩種下載版本,一種是包含了具體版本的SDK,一種是只包含升級工具而不包含具體的SDK版本,推薦使用後一種,這裡也是以後一種為例進行講解的,進入該網頁http://androidappdocs.appspot.com/sdk/index.html(或者直接點此下載)如下圖:
我們這裡當然是選擇最上面Windows平台的,下載完成後解壓即可。
4、配置開發環境:
(1)、安裝Android開發外掛程式,開啟Eclipse,在功能表列上選擇 help->Install New SoftWare 出現如下介面:
點擊 Add 按鈕,出現如下介面:
Name:Android (這裡可以自訂),Location:https://dl-ssl.google.com/android/eclipse/(如果出錯,將https改成http即可),點擊OK,將出現如下介面:
點擊 Next 按鈕,出現如下介面:
(註:如果使用了不正確的eclipse版本,這裡很有可能出錯)
點擊Next按鈕,出現如下介面:
選擇 I accept the terms of the license agreements 點擊 Finish ,進入安裝外掛程式介面:
安裝完成後,出現如下介面:
點擊Yes按鈕,重啟eclipse。
(2)、配置Android SDK,點擊菜單 Window -> preferences,進入如下介面:
選擇你的Android SDK解壓後的目錄,選錯了就會報錯,這個是升級工具,目前還沒有一個版本的SDK。
升級SDK版本,選擇菜單 Window -> Android SDK and AVD Manager 出現如下介面:
選擇 update all 按鈕,出現如下介面:
選擇左邊的某一項,點擊accept表示安裝,點擊reject表示不安裝,我們這裡只選了 SDK 2.1 和 samples for api 7 ,自己可以任意自訂,確定後,選擇install按鈕,進入安裝介面如下:
安裝完成如下:
建立AVD(android vitural device),和上面一樣,進入Android SDK and AVD Manager,選中Vitural Devices :
點擊New按鈕後,進入如下介面:
名稱可以隨便取,target選擇你需要的SDK版本,SD卡大小自訂,點擊 Create AVD,得到如下結果:
如上顯示建立AVD完畢。
(3)、建立Android項目,選擇菜單 file -> new -> other 進入如下介面:
選擇建立 Android Project 項目,點擊Next按鈕,進入如下介面:
名稱自訂,應用程式名稱自訂,包名必須包含一個點以上,min SDK version裡面必須輸入整數。
點擊 Finish 出現如下介面:
註:若有錯誤如:Project … is missing required source folder: ‘gen’ ,則將 gen -> Android.Test -> R.java 這個檔案刪掉,Eclipse會為我們重建這個檔案,並且不會報錯。
(4)、配置運行,右鍵項目 -> Run as -> Run Configuration 進入如下介面:
該介面選擇啟動並執行AVD,將AVD前面的方框設定為選擇狀態。
(5)、測試專案運行,右鍵項目名稱 -> run as -> Android Application 即可啟動運行該Android程式,如下所示:
正在進入
測試程式運行結果
該測試程式的apk安裝包已經自動產生在項目工程目錄的bin子目錄下了。
至此,Android開發環境配置完畢。
二、使用已搭建好的Android開發環境將指令檔打包為apk安裝包。
1、下載指令碼的模板工程,script_for_android_template,官方下載地址http://android-scripting.googlecode.com/hg/android/script_for_android_template.zip
2、匯入模板工程,開啟eclipse,在功能表列上選擇 File -> Import 出現如下介面:
選擇 Existing Projects into Workspace ,點Next進入如下介面:
選擇 Select archive file ,點擊Browse,找到剛才下載好的模板工程檔案即可,點擊Finish完成。
此時,如果控制台出現 Unable to resolve target ‘android-3′ 此類錯誤則說明API版本設定需要做調整了,開啟目錄下的 default.properties 檔案,如下:
由於我們這裡所使用的API版本為7,遂將裡面的 target=android-3 修改為 target=android-7 ,儲存,按右鍵模板工程選擇 Refresh 重新整理即可。
此時如果又出現 ERROR: Unable to open class file C:\eclipse\workspace\ScriptForAndroidTemplate\gen\com\dummy\fooforandroid\R.java: No such file or directory 這類錯誤,前面已經提到過解決辦法了,刪除這個R.java檔案即可,再次 Refresh 將出現 R.java was removed! Recreating R.java! ,至此該模板工程已成功匯入。
3、重新命名模板工程名及包名,按右鍵模板工程選擇 Rename 彈出如下視窗:
將名稱修改成自己所需要的,我這裡就暫且改為 ScriptForAndroidMyPhpTest 吧,點擊 OK 完成模板工程名的更改。
繼續按右鍵模板工程選擇 Android Tools -> Rename Application Package ,快顯視窗如下:
我這裡就修改成 com.pfatest 吧:
點擊 OK 出現如下介面:
點擊 Finish 彈出如下視窗:
點擊 Yes 完成包名的更改,同時eclipse會自動幫我們同步更新工程主目錄下AndroidManifest.xml檔案裡面的包名,否則我們就需要主動更新了。
4、把我們自己的PHP指令檔放入工程目錄下的res/raw目錄下,移除裡面模板內建的script.py,並同步修改src/com/dummy/fooforandroid/Script.java中指定指令碼名的這一行 public final static int ID = R.raw.script; -> public final static int ID = R.raw.mytest;
儲存。
5、申明指令碼程式中用到的所有許可權,開啟AndroidManifest.xml檔案,在視窗下方選中AndroidManifest.xml以編輯源檔案的方式,如下圖所示:
預設已開啟了 android.permission.INTERNET 許可權,由於我的測試程式中用到了震動以及電話功能,所以還必須開啟 android.permission.VIBRATE 和 android.permission.CALL_PHONE 這兩個許可權,開啟方法:將 <uses-permission
android:name=”android.permission.x”/> 前後的注釋<!–*–>去除即可,如下:
儲存。
6、編譯、打包、運行,還是按右鍵工程名,選擇 Run As -> Run Configurations… 開啟回合組態視窗:
在列表中選中我們需要啟動並執行模擬器,點擊下面的 Run 運行。
至此大功告成,手上有機器的朋友不妨將bin目錄下已產生好的apk包拷貝到手機上安裝運行試試看。