什么是SL4A
SL4A的全称为Scripting Layer for Android, 顾名思义就是Android的脚本架构层,它的目的就是可以用熟知的脚本开发语言来开发Android应用程序。其工作原理基于RPC远程调用,通过本地的脚本解析器和远端的原生态Android Server层的APK进行信息交互,即实现一个远程代理,把本地脚本的函数调用通过json格式的封装,传递给远程原生态Server APK进行实际的android系统函数呼叫,最后将操作的执行结果反馈给本地脚本解析器,然后再在终端显示出运行结果。
SL4A适用场景
- RAD programming,即 rapid application development,快速原型开发,进行工程项目的可行性分析
- 编写测试脚本,通常代码量都比较小,可方便实现
- 开发工具软件包,来实现一些快捷的功能
SL4A环境安装
- 下载安装 sl4a APK,目前的版本是 sl4a_r4.apk
C:UsersCarey.RS.Zhou>adb install -r C:UsersCarey.RS.ZhouDesktopsl4a_r4.apk 156 KB/s (858471 bytes in 5.355s) pkg: /data/local/tmp/sl4a_r4.apk Success
- 在APP列表中找到 sl4a 并运行,接受 Usage Tracking,选择 Accept
- 程序默认只安装了一个shell环境,进入的步骤为【Menu】【View】【Interpreters】【Shell】
在shell命令行中执行ps命令后的执行结果如下,说明程序安装正确
- 安装sl4a的本地脚本解析器,我们以安装python环境为例来说明,其他解析器的安装类似
进入的步骤为【Menu】【View】【Interpreters】【Add】
- 选择Python之后,后台开始下载PythonForAndroid的APK,完成后点击安装
- 安装PythonForAndroid的APK之后,依次选择【Open】【Install】按钮,此时会进入第二阶段的安装过程,即安装python的附加module
- 全部安装之后回到该界面,按钮由刚才的Install变成现在的Uninstall,特别提醒,千万别点击Uninstall按钮,不然就把刚才下载的module都卸载了,然后就悲剧啦,退出该界面即可
- 我们再次进入Interpreters,发现不只是Shell了,还多了一个Python 2.6.2,说明python环境搭建好了,现在就可以在android上面进行python脚本编写了,点击进去看看
- 到此为止,环境都ok了,我们小小测试一下,显示个Toast出来,看看是多么的简单,剩下的就请大家好好发挥吧,比起Java原生态程序的编写是不是方便了很多啊