PC上远程调试Android Python Script(1)

转载自http://blog.csdn.net/qq_lhz/article/details/6232207

目前在通过《Header First Python》学习Python语言。

其中有几个章节介绍Python在web和移动设备上的开发,移动设备OS选用了现在火热的Android。

对于这个系统,之前我只听说过,从未实际使用过;移动设备上程序的编写,也是第一次涉足。

下面记录的搭建环境的过程及相关要点,希望对刚接触这方面的朋友有所帮助。

 

环境

OS: Windows XP 32bit SP3

移动设备: Android模拟器

 

安装调试过程

如果完全从0开始,请阅读所有Step。如果只是想知道如何远程调试,请直接阅读Step5。

Step1 : PC上安装Python

下载Python

  • 目前最新的为Python 2.7.1,点击下载:http://www.python.org/ftp/python/2.7.1/python-2.7.1.msi

安装Python

  • 推荐安装在无空格的全路径目录下(如:c:/Python2.7),原因是,有些库中,在对有空格的路径进行访问时有问题。

测试Python,

  • 安装完成后启动python IDLE, 打印一条“Hello World!” 

如果你的程序也打印出“Hello world”, 证明安装成功了,继续下一步。

Step2 : PC上安装Android模拟器

下载Android模拟器

  • 目前发布到r10,点击下载:http://dl.google.com/android/installer_r10-windows.exe

安装Android模拟器

  • 预装JDK,请按照安装界面的说明到java网站上下载并安装。在此就不累述。
  • 进入Android安装,按照引导界面安装完成后,运行Android SDK Manager
  • 此时SDK Manager会从网上获取最新的SDK包,然后让你选择安装。目前Android更新的较快,版本较多,下载时间可能较长。初次使用,推荐选择其中一组就好(

    Android SDK Platform-tools, revision 3

    Android SDK Tools, revision 10

    SDK Platform Android 2.3.1, API 9, revision 2

    Samples for SDK API 9, revision 1)

  • 安装后,创建一个模拟设备。如图 

测试Android模拟器

  • 安装完毕后,点击开始按钮,你将看到如下的画面。 
      

如果你的程序也显示出上图,证明你的安装成功,试试自己会不会用吧,继续下一步。

Step3 : Android模拟器上安装Python解释器

我了解的有两种方法可以下载并安装Android软件。一个是通过Android直接访问网络,下载安装;另一个是通过PC下载,然后通过模拟器工具ADB安装。这里介绍第二种方式。

下载Python for Android解释器;

  • 解释器框架,点击下载:http://code.google.com/p/android-scripting/downloads/detail?name=sl4a_r3.apk&can=2&q=
  • python解释器,点击下载:http://code.google.com/p/android-scripting/downloads/detail?name=PythonForAndroid_r4.apk&can=2&q=

安装Python for Android解释器;

  • 设置环境变量,加入Android模拟器工具 adb.exe所在的路径。
  • 打开cmd运行界面,输入adb。你会看到如下信息: 
  • 输入adb device。你会看到如下信息: 
  • 输入adb install –s <解释器框架所在路径>;比如adb install –s c:/sl4a_r3.apk 。安装完毕后,在你的android中就会出现SL4A图标。如图: 
  • 同上的步骤,再把python解释器安装上。比如adb install –s c:/PythonForAndroid_r4.apk 。安装完毕后,在你的Android中就会出现Python for Android图标。如图: 
  • 在Android中点击Python for Android。进去后,有一个install的button,点击安装。这个程序会通过网络,下载到所需要的所有程序包。

测试Python for Android解释器;

  • 当一切安装妥当后,在Android中点击SL4A图标。
  • 在出现的列表中点击hello_world.py(或者其他的脚本);界面左上角会出现一个小的SL4A的图标,同时界面也会出现“hello world!” 

如果你的Android运行结果如上所述,证明你的安装成功了,继续下一步。

Step4 : 编写可在Android模拟器运行的Python Script并执行

编写Python Script For Android; 

传递Python Script到Android模拟器;

  • 假设你编写的python脚本存放在c:/Hello_world.py中
  • 打开cmd界面,运行adb push ;例如,adb push c:/Hello_world.py /sdcard/sl4a/scripts/Hello_wold.py

在Android模拟器上运行Python Script;

  • 在Android上运行脚本,你会看到“Hello world!”出现在屏幕上。 (如同step3的结果)

如果你的运行结果如上所述,那么恭喜你,你已成功上传并运行了你的第一个android python脚本,继续下一步。

Step5 : 远程调试Python Script

下载和安装远程调试需要的扩展脚本

  • 在解释器网站可下载。点击下载,http://android-scripting.googlecode.com/hg/python/ase/android.py
  • 把你下载的脚本,拷贝到/Python27/Lib/site-packages这个目录下

建立远程调试环境(启动private 调试器)

  • 记录未启动解释器时,Android的监听端口;在PC上启动cmd程序。输入adb shell命令。接着输入netstat,你会发现有几个监听端口。保留这个界面,便于后面开启解释器时,通过比较,获取到监听的端口。
  • 通过接下来几个小步骤,启动远程调试器;在Android中,点击SL4A图标
  • SL4A启动完成后,点击系统menu按钮(右边小红框内)后,SL4A中出现一个菜单(左边大的红框中),如图 
  • 点击SL4A中的view菜单项,出现一个list,选择Interpreters,出现一个目前拥有的解释器的列表界面,如图 
  • 又一次点击系统的menu按钮(右边小红框),出现解释器菜单(左边大红框),如图: 
  • 点击Start Server,出现一个服务类型列表。选择Private。远程调试器服务端,启动完毕。
  • 找到解释器服务的监听端口;切换到刚才在PC上启动cmd程序,输入过adb shell命令的那个界面,接着输入netstat,你会发现有增加了一个监听端口,并且端口号很大。记住这个端口,我这里PORT = 35348。下面的程序中会使用。这是你可以退出shell。如图: 
  • 建立tcp桥接;在PC的cmd界面中,输入adb forward tcp: tcp:;例如,adb forward tcp:9999 tcp:35348

编写可远程调试的Python脚本

(这里介绍用IDLE交互方式执行显示一条信息;你也可以使用集成ide,直接进行调试,就像调试本地程序一样。)

  • 输入脚本,如下图。 
     
  • Android上会弹出一条消息"Hello world!Remote debug” ,如图; 

如果你也在Android上看到了你期望弹出的信息。恭喜,你已经迈入了python远程调试的大门了。

结束语

希望我的文字对你的工作学习有所帮助。

关于这个话题有任何问题都可以留言,我会及时关注并共同探讨解决。

谢谢您阅读!

你可能感兴趣的:(SL4A)