1. 程式人生 > >給android手機上配置python執行環境

給android手機上配置python執行環境

android手機是一臺完整的linux計算機,由於使用arm的架構,因此理論上所有支援arm的程式都可以執行在android手機上面,某人最近一直在學習python,因此突發奇想,把python裝到安卓手機上面,偶爾寫個指令碼,在命令列裡面執行一下,豈不快哉?

上網查了一下網上很早就有一個專案,是讓安卓手機支援各類指令碼語言,也就是SL4A (Scripting Layer For Android). 這個專案的特色是讓在android UI上面執行指令碼程式。比如用python寫一個帶介面的android程式,然後在手機上寫好,在手機上執行。怎麼樣是不是很酷呢。SL4A在這裡http://groups.google.com/group/android-scripting

SL4A只需要安裝上,然後安裝對應的語言版本就可以了。但這不是我的需求,我的需求是在手機的命令列裡面執行python程式,在這方面網上卻很少有資料。

其實SL4A裡面有個python的專案,我們只需要安裝python-for-android,然後把裡面的python執行環境拷貝到系統空間再配置一下即可。

第一步:下載並安裝python-for-android:http://code.google.com/p/python-for-android
裡面有很多android版的python,我安裝的是2.6 
第二步:在手機上安裝下載的python-for-android apk,安裝完成後執行程式,這個程式會從網上自動下載python的執行環境和所需的檔案
第三步:從那個應用程式自己下載的資料目錄中把python拷貝出來。
這步的過程比較多,而且需要root許可權,有幾個步驟,

1 重新掛載/system分割槽。使其可讀寫

1 # mount -o rw,remount -t rootfs /system

2 py4android會把python的主程式下載到它的執行資料目錄下面。而把python的標準庫下載到sd卡下面。我們需要手動把這兩個東東放在一起。

1 #cp /data/data/com/googlecode/python-for-android/files/python/   /system/
2 #cp /sdcard/com.googlecode.python-for-android/extras/python/* /system/python/lib/

3 配置shell下面執行python的路徑
開啟/etc/profile 並且加入下面的配置路徑

1 export PYTHONHOME="/system/python"
2 export PYTHONPATH=.:$PYTHONHOME:$PYTHONHOME/libs:$PYTHONHOME/lib:$PYTHONHOME/libs/site-packages:$PYTHONHOME/lib/python2.6/lib-dynload
3 export PATH=$PYTHONHOME:$PYTHONPATH:$PATH
4 export LD_LIBRARY_PATH=.:$PYTHONHOME/lib:$LD_LIBRARY_PATH

4 別忘了把動態連線庫連結到lib下面

1 ln -s  /system/python/lib/libpython2.6.so /system/lib/libpython2.6.so
2 ln -s /system/python/lib/libffi.so  /system/lib/libffi.so

至此,在命令列中輸入python -v 就能在命令列中使用python了。

來源:http://tweetyf.org/2012/09/android_use_python_runtime.html