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. 这里为了方便下载,特意将该链接做了个二维码,用手机扫一下即可,应该会弹出一个提示框让你选择下载方式,如果安装了豌豆荚,也可以用它来下载。
![](http://img.blog.csdn.net/20140414200544312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSTJDYnVz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
9. 先要确保你的电脑和Android手机都连接到了同一个Wifi网络
10. 打开软件后点菜单,然后选择Settings,在里面设置用用户名和密码,不设置密码是无法启动文件共享服务的。
![](http://img.blog.csdn.net/20140414200922531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSTJDYnVz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20140414201335656?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSTJDYnVz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
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导入工程
![](http://img.blog.csdn.net/20140414201418765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSTJDYnVz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
19. 打开SDLSurfaceView.java
![](http://img.blog.csdn.net/20140414201432875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSTJDYnVz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
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. (完)
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. (完)
相关文章推荐
- Android四大基本组件介绍与生命周期
- Android Stagefright MPEG4Writer分析
- Android常用布局的介绍
- java的reflect的自我理解(在android平台上)
- ubuntu Android开发问题汇总(不定时更新)
- Ubuntu Android开发环境配置
- -------------------------------android高手之路--删除工程里面无用的代码和资源
- android—DOM解析xml
- Android 服务器向客户端推送方案
- 混淆Android代码
- [Android学习笔记]理解焦点处理原理的相关记录
- Android开机启动流程初探
- Android Database 并行访问 SQLiteDatabaseLockedException: database is locked 解决方案
- android 点滴记录 ICCID IMSI IMEI MEID 关系 和 区别,相关参数在什么情况下可以获取...
- Android手机 Fildder真机抓包
- PM的自我修养——关于AndroidDesign的一些基础知识
- Android启动过程中背景图片显示
- activity跳转的过渡效果,很漂亮,很全
- Android4.4源码学习笔记
- Android Ubuntu 12.04 源码环境搭建