2

把旧android手机变成跑python的服务器大致的思路是把android手机当linux主机用。
所以我们先要shell到手机,然后在手机上搭建python运行的环境,这样我们就能够把写的python脚本放在上面跑了。

1.ssh到android手机

想要ssh到android手机需要在安卓手机上安装QuikSSHD,它能够在android手机上建立一个ssh的服务端,在电脑上使用xshell(一个windows上的linux终端软件)登录手机就可以了,下载地址和详细设置看这里

http://soft.shouji.com.cn/news/548.shtml

补充说明:手机需要root,如果不知道什么是root那就百度一下吧,百度了如果还不知道就洗洗睡吧

2.安装busybox

ssh到android手机后,本身因为android是基于linux的,所以会有一些基本的命令,但是这些命令感觉有些鸡肋。
为了在android下使用linux下常用的那些强大的命令,就需要安装busybox(有linux下的瑞士军刀美称)。在豌豆荚上面可以找到busybox的安装器(这个应用是用来安装busybox的,本身并不是busybox)。
接下来在android手机上打开BusyboxInstaller,在里面选择要安装的busybox版本,如果高版本的安装失败的话尝试低版本的,选择版本之后别忘记了勾选下面的Symlink applets。这个选项能够在生成命令的链接符号

busybox下的命令是以 $>busybox mkdir 这样的形式运行的,为了能直接 mkdir 这样运行命令就需要勾选Symlink applets这个选项。

3.在android手机上面搭建python运行环境

在android上面跑python的必备利器:PythonForAndroid。我使用的版本是PythonForAndroid_r5.apk。
下载PythonForAndroid后使用豌豆荚安装到手机上(因为我不是大牛,所以不能装逼用什么Android adb来安装应用,乖乖的用菜鸟必备工具豌豆荚吧),安装之后从手机打开Python for Android应用,点击Install按钮开始安装。

注意:点击Install按钮前要确保手机连接上了WiFi,因为它会下载一些包并安装。

因为国外很多网站被我大王朝的长城防火墙给墙了,所以很有可能点击Install后会失败,这个时候就得用用vpn了。俺用的是北京迅捷网络的vpn,注册可以免费试用30分钟,我们下载足够用了。注册之后需要在手机上用注册的vpn账号登陆,具体登陆方式迅捷网络网站上可以搜索到。

等到自动安装好各种包之后Android上的python环境安装就算大功告成了。

到此为止就可以直接在Android上直接运行python了?NO NO NO,到这里为止只是安装好了python的执行文件和一些库文件,还需要配置python脚本的运行环境变量之类。废话不多说,直接上码

#! /system/bin/sh
mkdir /data/tmp
mount -t tmpfs tmpfs /data/tmp
chmod 1777 /data/tmp

export EXTERNALSTORAGE=/mnt/sdcard
PYTHONPATH=/mnt/sdcard/com.googlecode.pythonforandroid/extras/python
PYTHONPATH=${PYTHONPATH}:/data/data/com.googlecode.pythonforandroid/files/python/lib/python2.6/lib-dynload
export PYTHONPATH
export TEMP=/data/tmp
export PYTHONEGGCACHE=$TEMP
export PYTHONHOME=/data/data/com.googlecode.pythonforandroid/files/python
export LDLIBRARY_PATH=/data/data/com.googlecode.pythonforandroid/files/python/lib
/data/data/com.googlecode.pythonforandroid/files/python/bin/python "$@"

把上面代码保存为shell文件,命名为python.sh(名字随便叫什么都行)。存到/mnt/sdcard/目录下,也就是sd卡的根目录。怎么存?还是用豌豆荚.....

对了,注意上面的每条语句是否跟你安装的python相对应,不对应的要改一下。

写个python文件保存在/mnt/sdcard/下面

hello.py

print 'hello world'

运行

sh python.sh < hello.py

然后就看到经典的hello world了

注:引用请附上本文原链接
http://blog.segmentfault.com/watermelon/1190000000596733


watermelon
179 声望7 粉丝

小技能:C++,Python,Sqlite,WTL,Linux,Nginx,Windows,MFC