您的位置:首页 > 移动开发 > Android开发

Kivy A to Z -- 调试篇之在Android平台调试Python代码

2014-04-14 20:16 1081 查看
1. 在Android平台上要运行Python代码,必须将Python代码打包进public.mp3

2. 这给调试工作带来了极大的不方便。

3. 这里提供一种不用将代码打包成public.mp3即可调试的方法。

4. 那么怎么实现呢?答案很简单,在Android上安装Samba Server。然后就可以在Windows上访问Android上的文件了,然后就可以很方便的修改Android设备上的Python代码了,然后调试就方便了。

5. 接下来看怎么做。

6. 首先,在你的Android手机上安装Samba Filesharing这个软件

7. 可以直接从Google play上下载



7.1 https://play.google.com/store/apps/details?id=com.funkyfresh.samba
8. 这里为了方便下载,特意将该链接做了个二维码,用手机扫一下即可,应该会弹出一个提示框让你选择下载方式,如果安装了豌豆荚,也可以用它来下载。





9. 先要确保你的电脑和Android手机都连接到了同一个Wifi网络

10. 打开软件后点菜单,然后选择Settings,在里面设置用用户名和密码,不设置密码是无法启动文件共享服务的。












11. 然后在菜单中点击"Enable"来开启共享服务。

12. 开启共享服务时可能有一段时间程序会没有响应,如果弹出是否要结束应用程序的对话框,不要选择“确定”,应该选择“等待”



13. 好,接下来在Windows上的“计算机”图标上右击,选择“映射网络驱动器”,在文件夹中输入:\\xx.xx.xx.xx\\sdcard(xx.xx.xx.xx为手机WIFI IP),在弹出的提示对话框中输入用户名和密码,大功告成!



15. 接下来看下怎么调试

16. 在sdcard共享目录下新建一个kivy目录

17. 将代码拷贝到kivy目录下,如可以将Kivy代码的示例代码examples\demo\pictures下的文件拷贝到kivy目录

18. 从python-for-android/dist/default导入工程





19. 打开SDLSurfaceView.java



20. 找到run函数



21. 找到如下代码:

Log.w(TAG,"Done");

waitForStart();

nativeResize(mWidth,mHeight);

nativeInitJavaCallbacks();

nativeSetEnv("ANDROID_PRIVATE",mFilesDirectory);

nativeSetEnv("ANDROID_ARGUMENT",mArgument);

nativeSetEnv("PYTHONOPTIMIZE","2");

nativeSetEnv("PYTHONHOME",mFilesDirectory);

nativeSetEnv("PYTHONPATH",mArgument +":" +mFilesDirectory +"/lib");

22. 在nativeSetEnv("ANDROID_ARGUMENT", mArgument);代码将加上一行代码:mArgument = "/mnt/sdcard/kivy";

Log.w(TAG,"Done");

waitForStart();

nativeResize(mWidth,mHeight);

nativeInitJavaCallbacks();

nativeSetEnv("ANDROID_PRIVATE",mFilesDirectory);

mArgument = "/mnt/sdcard/kivy";

nativeSetEnv("ANDROID_ARGUMENT",mArgument);

nativeSetEnv("PYTHONOPTIMIZE","2");

nativeSetEnv("PYTHONHOME",mFilesDirectory);

nativeSetEnv("PYTHONPATH",mArgument +":" +mFilesDirectory +"/lib");



23. 好,接下来在eclipse中运行程序,这时候,跑的Python程序就是/mnt/sdcard/kivy下的程序了

24. 接下来干嘛,修改程序,保存,测试,再改程序,再保存,再测试。是不是比以前爽多了?

25. (完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: