首先要安装sl4a和pythonforandroid两个apk.安装完成以后如下:
打开SL4A,如图
我这个是已经安装完python2.6.2以后的。如果没有安装,只有shell一项。点menu键弹出菜单:
点Add选项:
选择Python 2.6.2:
下载完安装就行。也可以直接下载该apk来安装,我分享了pythonforandroid的下载地址。、
安装完成上面2个apk后,打开sl4a。点menu键中的Start Server会在通知栏里出现一个sl4a的小图标,点击可以看见如下:
点击后出现一些server信息。
记住端口号,会在后续步骤里用到。到此devices端的服务器就配置好了。下面在pc端连接到该服务器。
首先需要一个android.py脚本。该脚本存在于python_extras_r14.zip里,这个脚本也就是你在打开pythonforandroid应用后点击install按钮后下载的几个包之一。它存放在什么地方?
在命令行下进入adb shell。进入sdcard目录中。
会发现一个com.googlecode.pythonforandroid文件夹。进入,我们要找的文件就在里面。
将python_extras_r14.zip拷贝到本地。
在本地解压,找到android.py,然后将该文件拷贝到python的目录lib文件夹里。到这一步还没结束,要想编写程序,要做一个环境变量的配置。
在环境变量配置一个AP_PORT
然后在命令行里做一个远程端口映射到本地端口
9999就是我们设置的环境变量,38676是我们在device端启动sl4a服务器获取的。
这样我们的配置就完成了,写一个程序试试。
运行一下会在手机端收到一个toast。说明sl4a可以通过python脚本访问手机端的framwork层的api。我研究它做什么,因为我要做app功能遍历,目前采用的是hierarchyviewer的方法获取控件信息,正在尝试使用sl4a看是否能调用AccessibilitySerice来获取控件信息,尝试中!