第一部分是指在Android系统的手机上直接写PHP脚本代码并立即运行;
第二部分则继续讲解如何把写好的PHP脚本代码打包成akp安装文件。

首先,在手机上安装两个apk包。

一个是SL4A(Scripting Layer for Android),这个是Android的脚本环境,前身是ASE(Android Scripting Environment),Android系统上的所有脚本都将在这个环境下执行,下载地址:sl4a_r3,下载后将扩展名改为.akp即可,也可以到谷歌官方下载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安装包呢,本人参考了谷歌官方提供的步骤(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包拷贝到手机上安装运行试试看。

最全的PHP开发Android应用程序相关推荐

  1. PHP开发Android应用程序

    最全的PHP开发Android应用程序http://www.iamlintao.com/?p=744 Android,看过这篇文章后,收益颇多,但安装过程中的细节有很多出入.接下来一一列举出来! 首先 ...

  2. 小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)

    之前学习微信小程序开发,主要是基于JS.WXML.WXSS的前端开发,对于后端技术不精的我也是使用了微信开发者工具中的云开发功能,但是今天突发奇想,特别想体验一下全栈式开发微信小程序,学习了一下基于W ...

  3. 用eclipse开发android小程序,【转】Eclipse 开发Android小程序遇到的问题总结

    用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等- 1.ERROR: Ap ...

  4. 使用phoneGap和Sencha Touch 2开发Android应用程序(四)

    2019独角兽企业重金招聘Python工程师标准>>> 本文是" 使用phoneGap和Sencha Touch 2开发Android应用程序"系列教程的第4章, ...

  5. 使用jQuery Mobile和Phone Gap开发Android应用程序

    使用jQuery Mobile和Phone Gap开发Android应用程序 1. 软件准备  要进行android app的开发,当然需要准备Java, eclipse和安装Android SDK, ...

  6. 实用 通用Adb无线调试开发Android应用程序

    实用 通用Adb无线调试开发Android应用程序 无线调试开启方法 一.adb必备条件 二.连接无线调试即可 第一.先进行设备配对(切记两台设备需要在同一个WIFI下) 第二.进行连接 在真机上调试 ...

  7. 拼图android程序,可视化开发Android应用程序:拼图开发模式App Inventor

    可视化开发Android应用程序:拼图开发模式App Inventor 作 者:王向辉 等编著 出版时间:2013 内容简介 <可视化开发Android应用程序:拼图开发模式App Invent ...

  8. 在eclipse上开发Android应用程序

    Android中文文档:开发和调试(eclipse) 2009-12-18 22:13 在用eclipse IDE开发android应用程序之前,你首先要创建一个Android工程,并且建立一个启动配 ...

  9. 开发Android应用程序

    利用其他IDEs和工具开发Android应用程序 通常我们使用安装有ADT插件的eclipse Eclipse with the ADT plugin.来开发Android程序,这个插件将编辑,bui ...

最新文章

  1. C:模块化程序设计 以及数组
  2. 闭环思维之follow through和及时反馈
  3. Solaris 10装置jdk1.6及改削成默许JDK
  4. Nginx+Tomcat负载均衡、动静分离集群
  5. 索尼笔记本bios如何设置VT-x/AMD-V兼容
  6. @scheduled注解配置时间_Spring Boot中使用@Scheduled创建定时任务
  7. [Unity3D]Unity3D圣骑士模仿游戏开发传仙灵达到当局岛
  8. 数据恢复技巧:U盘文件被隐藏怎么恢复?
  9. Logo设计技巧和方法
  10. mysql课设体会_课程设计心得体会8篇
  11. html复制粘贴的文字自动换行,如何解决Word中粘贴网页上的文字自动换行的现象...
  12. Android App 性能优化之图片优化
  13. 论文阅读——A Deep Learning Design for improving Topology Coherence in Blood Vessel Segmentation
  14. Java Build工具Ant与Maven之比较
  15. php 全选 反选,利用vue实现全选反选功能
  16. 转载:Springboot全局事务处理
  17. 深入浅出理解SerDes
  18. ACrush楼天成回忆录
  19. centos7操作大全
  20. 基于FPGA的自动售货机

热门文章

  1. 银行都是用什么技术做超级App
  2. 实验一 java基础编程(预习报告)
  3. aruco字典如DICT_4X4_50含义
  4. 深度学习epochs、batch、batch_size和iteration的区分
  5. Python语言程序设计笔记(全)
  6. 浙大 | PTA 习题5-6 使用函数输出水仙花数 (20分)
  7. 数据库范式:1NF、2NF、3NF、BCNF
  8. 在Java中打印金字塔图案
  9. 前端自动化构建工具:用Gulp4.0搭建一个基本的前端开发环境
  10. 《计算机存储与外设》----2.3 DRAM