把舊android手機變成跑python的服務器


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM