SL4A PC上的调试方法

SL4A是Script Layer for Android的缩写,在我个人看来,这是一个非常好的工具,它利用的了RPC(目前理解的还不深刻,请感兴趣的同学google一下想光的概念吧)的原理,使用其他语言调用android native的发法成为可能。

这里我不会讲原理性的知识,指示和大家交流一下如何在PC上调试python脚本,一步一步的了解SL4A. 因为本文纯粹基于个人理解写成,如果不对的地方还请参见官方的解释说明。

目前位置SL4A最全面的一本指导书是 Hi, "Pro Android Python with SL4A.epub" ,可以到我的微盘空间下载。http://vdisk.weibo.com/s/2JMuN,这本书是入门SL4A必须仔细读的(至少我这么认为)。

下面开始说说如何在PC上调试SL4A.

准备工作:

  1. 安装python,这个就不多说了。
  2. 手机上安装SL4A,到SL4A的主页下载最新的版本。http://code.google.com/p/android-scripting/
  3. SL4A的成功,可以理解为只安装了一个平台,还需要在手机上安装一个python的解释器。安装办法,启动SL4A,Menu->View->Interpreters,如果之前没有安装过解释器,列表中应该只有Shell一项,点击Menu->Add,在显示出来的列表中会有可供选择安装的解释器,选择后会自动进入下载安装的过程,这里我们选择Python 2.6.2.
  4. 安装成功后会在SD卡的根目录下生成一个文件夹,com.googlecode.pythonforandroid。这个目录下的extras目录下就是在android NDK下编译过的python版本。进入其中的python目录,将根木录下的android.py拷贝到PC的python安装路径下。
  5. 如果想在window是调试,请增加一个环境变量AP_PORT,其值为9999,ubuntu下执行export AP_PORT=9999即可。
  6. 在手机上启动远程调试的端口,目前版本的SL4A已经支持将端口设置在一个固定的端口上,在SL4A的Preferences选项中,设置Server Port为一个未占用的,例如‘42306’
  7. 在Menu->View->Interpreters->Menu中选择Start Server即可。
  8. 这一切准备之后还差最后的一步,将手机的端口和PC的端口映射上,执行命令adb forward tcp:9999 tcp:42306

ok, 现在就可以在PC端的python解释其中,一步一步的输入代码调试了。先来个最简单的吧。从hello world开始

import android

droid = android.Android()

droid.makeToast('Hello World')


如果在执行droid = android.Android()时报错,则很有可能是端口的转发设置有问题,请重新设置

>>> droid = android.Android()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "android.py", line 34, in __init__
    self.conn = socket.create_connection(addr)
  File "/usr/lib/python2.7/socket.py", line 553, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值