在 android 上运行 python 的方法
在android上运行python脚本,或者在android上使用python交互界面,对熟悉python的研究或开发人员来说,是一件很有吸引力的事情,因为python脚本真是非常高效,另外,有很多非常好的库
android官方目前没有支持在android设备运行python,但是网上有一些项目组做了这个事情:http://geeknizer.com/install-run-python-apps-scripts-on-android/ 这个链接就提供好几个项目,我稍微尝试了 Kivy 这种方式, 需要安装
的东西太多,就放弃了. 推荐http://dinostest.com/node/28 这种方式,使用 qpython 项目, 可以用非常少的付出得到 android 上可以运行的 python 环境.
1. Please download QPython from url: http://qpython.com/ 这里我采用不同的方式,直接从360手机助手搜索并安装 qpython , 更加方便
2. adb install qpython package into device or emulator
3. change /system folder to be readable and writeable
4. modify /system/etc/mkshrc to add following at the end of the file
ANDROID_PRIVATE=/data/data/com.hipipal.qpyplus/files;export ANDROID_PRIVATE
ANDROID_PUBLIC=/storage/sdcard/com.hipipal.qpyplus;export ANDROID_PUBLIC
ANDROID_SOCKET_zygote=9;export ANDROID_SOCKET_zygote
AP_HANDSHAKE=10e4c98a-4216-47a3-bf67-57b99d7d516e;export AP_HANDSHAKE
AP_HOST=127.0.0.1;export AP_HOST
AP_PORT=45367;export AP_PORT
LD_LIBRARY_PATH=/vendor/lib:/system/lib:/data/data/com.hipipal.qpyplus/files/lib:/data/data/com.hipipal.qpyplus/files:/data/data/com.hipipal.qpyplus/lib
export LD_LIBRARY_PATH
PATH=/data/data/com.hipipal.qpyplus/files/bin:/sbin:/vendor/bin:/system/bin:/system/xbin
export PATH
PYTHONHOME=/data/data/com.hipipal.qpyplus/files;export PYTHONHOME
PYTHONOPTIMIZE=2;export PYTHONOPTIMIZE
PYTHONPATH=/data/data/com.hipipal.qpyplus/files/lib/python2.7/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/lib-dynload/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/:/storage/sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages/:
export PYTHONPATH
PYTHONSTARTUP=/storage/sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages/qpythoninit.py
export PYTHONSTARTUP
TMPDIR=/storage/sdcard/com.hipipal.qpyplus/cache;export TMPDIR
5 relogin the shell
6. type python in the adb shell
root@generic:/ # python // 我尝试的时候,直接运行 python (其实是运行 /data/data/com.hipipal.qpyplus/files/bin/python ) 会报错: error: only position independent executables (PIE) are supported. 我测试的设备是 Nexus 6 , android 6.0 , 在
这些比较新的 android 系统上有保护,需要可执行程序使用 -PIE 进行编译,否则无法运行. 但我发现同样的目录下 python-android5 是可以运行的, 所以就 mv python python.bak ; ln -s python-android5 python ; 这样后面就可以直接运行 python 了.
最新文章
- OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)
- 通过java反射,封装bean
- 高效coder,筹备开源框架toutou.escort.js
- JMir——Java版热血传奇2之资源文件与地图
- 怎样下载安装Firebug和使用Firebug
- jQuery_easyUI 合并单元格 (DataGrid 数据表格)
- 黑马程序员-- C语言执行过程及注意点
- 30天自制操作系统第九天学习笔记(u盘软盘双启动版本)
- Java 8 新特性1-函数式接口
- [JetBrains注册] 利用教育邮箱注册pycharm,idea等产品教程。
- 【JVM虚拟机】(8)--深入理解Class中--方法、属性表集合
- React的类型检测PropTypes
- highcharts 获取不到隐藏容器大小
- [No0000156]天干地支-狗年我懂,戊戌二字怎么来的?
- Tensorflow学习笔记03-使用神经网络做线性回归
- bootstrap2.1相关文档
- js 获取后缀参数
- SQL Sever 2008配置工具中过程调用失败解决方法
- Oracle 数据库数据结构(包括存储过程,函数,表,触发器等)版本控制器
- 20155301 《Java程序设计》实验五网络编程与安全