在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 了.

更多相关文章

  1. XML解析各种方式比较
  2. android客户端与服务端交互的三种方式
  3. Android 实现TextView中 文字链接的方式
  4. Android 实现TextView中文字链接的方式
  5. [转]Android 实现TextView中文字链接的方式
  6. 个人对android中项目命名规则的整理
  7. android一个项目应用另外一个项目和jar包引用
  8. Linux通过shell脚本实现JDK版本之间的快速切换
  9. Android自己主动化測试解决方式

随机推荐

  1. Android使用TabHost程序异常终止could no
  2. Android的OpenGL学习笔记(5)
  3. Android 中数据库查询方法 query() 中的
  4. Android之实现textvew跑马灯效果
  5. unity内置浏览器插件UniWebView的使用(支
  6. android中SqLite query中用selectionArgs
  7. android和j2me之清屏(clearScreen)
  8. android三级联动、四级联动(地区选择)
  9. android 分辨率及密度详细
  10. Android(安卓)-- Looper.prepare()和Loop