把舊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