Google的Android Scripting專案
SL4A, (我在自己的安卓手機上下載了
HTTP://android-scripting.googlecode.com/files/PythonForAndroid_r4.apk並安裝了,暫時還不知道怎麼使用。HTTP://code.google.com/p/android-scripting/,)開發者可以使用指令碼語言來開發Android應用,比如Python、Perl、JRuby、Lua、shell等,都可在Android上執行。不過使 用它並不能説明創建一個易安裝、自包含可執行二進位檔案的Python應用。因此,一個新的旨在讓在Android系統上發佈Python更加容易的專案 ——Python for Android推出了。

 

Python for Android是由Kivy團隊開發的一個專案(Kivy是一個可用以快速建立新穎使用者介面應用的開源Python庫),該專案旨在説明你創建自己的可以包含任何你想要模組的Python distribution應用,並説明你將Python應用打包為可在Android設備運行的APK檔。打包工作可通過四步來完成:
1.下載Android SDK/NDK並確認已正確安裝。
2.設置好環境。
3.創建一個包含模組的Python發行版本本(Distribution)。一個Distribution由Python庫、一些內置的模組(kivy、pygame、pil等)、一個JAVA bootstrap以及一個build script組成。
4.使用該發行版本本創建一個Python應用的APK檔。

 

詳細內容可以參見這篇
文章介紹。

 

為了對比,我們可以查看下Python for Android與其他專案的比較:

 

Project Native Python GUI libraries APK generation Custom build
Python for android Yes Yes Yes Yes
PGS4A Yes Yes Yes No
Android scripting No No No No
Python on a chip No No No No

 

目前,該工具只有一個用於支援Kivy模組的JAVA bootstrap,開發人員鼓勵其他開發者創建出更多的bootstrap。其現在可用的模組包括:peg、pil、png、sdl、sqlite3、 pygame、kivy、android、libxml2、libxslt、lxml、ffmpeg、openssl等。

 

Python for Android以LGPLv2許可證開源,代碼託管與
Github上。 —————————————————————————–

 

Introducing 「Python for Android」 Posted on
January 8, 2012 by
tito I’m glad to share a new project called
Python for Android. The goal of this project is to
package your python application into an APK.



HTTPs://github.com/kivy/python-for-android

 

The project is under the umbrella of Kivy organization, but is not designed to be limited to Kivy only. Read the documentation to correctly install the NDK/SDK Android, and set the needed environment variables.

 

The packaging is done in 4 steps:

 

1. Ensure you have Android SDK/NDK downloaded and correctly installed

 

2. Ensure you have some environment set

 

3. Create a Python distribution containing the selected modules

 

4. Use that distribution to build an APK of your Python application

 

Creating the python distribution is as simple as that:

 

# create a simple distribution with python + PIL + Kivy
./distribute.sh -m "pil kivy"

 

# create a distribution with python + openssl + pil + kivy
./distribute.sh -m "openssl pil kivy"



A directory
dist/default will be created, including the result of the whole arm compilation.

 

Available libraries as for today: jpeg pil png sdl sqlite3 pygame kivy android libxml2 libxslt lxml ffmpeg openssl.

 

The second step is a little bit harder, since you need to provide more information for Android:

 

cd dist/default
./build.py --package org.test.touchtracer --name touchtracer \
--version 1.0 --dir ~/code/kivy/examples/demo/touchtracer debug installd

 

# --package: java name of your application
# --name: title of your application
# --version: version of your application
# --dir: location of your application containing the main.py



Then you’ll get a nicely
bin/touchtracer-1.0-debug.apk

 

Pro:

 

◾A blacklist.txt file that can be used to exclude files in the final APK
◾Reusable distribution for other applications
◾Modular recipes architecture
◾Be able to build independents python distributions

 

Cons:

 

◾You need a main.py file that will be used for starting your application
◾Only one java bootstrap available, using OpenGL ES 2.0.
◾Only Kivy toolkit is working. I’m sure that other people can enhance it to add other toolkit recipes. But for example, pygame is not gonna to work because the android project is OpenGL ES 2.0: pygame drawing will not work.





from HTTP://txzone.net/2012/01/introducing-python-for-android/

 

———————————————————————–

 

給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:
PythonForAndroid-r7b1.apk

 

第二步:在手機上安裝下載的python-for-android apk,安裝完成後運行程式,這個程式會從網上自動下載python的運行環境和所需的檔

 

第三步:從那個應用程式自己下載的資料目錄中把python拷貝出來。

 

這步的過程比較多,而且需要root許可權,有幾個步驟,

 

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

 

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

 

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

 

#cp /data/data/com/googlecode/python-for-android/files/python/ /system/

 

#cp /sdcard/com.googlecode.python-for-android/extras/python/* /system/python/lib/

 

3 配置shell下面運行python的路徑

打開/etc/profile 並且加入下面的配置路徑

export PYTHONHOME="/system/python"

export PYTHONPATH=.:$PYTHONHOME:$PYTHONHOME/libs:$PYTHONHOME/lib:$PYTHONHOME/libs/site-packages:$PYTHONHOME/lib/python2.6/lib-dynload

export PATH=$PYTHONHOME:$PYTHONPATH:$PATH

export LD_LIBRARY_PATH=.:$PYTHONHOME/lib:$LD_LIBRARY_PATH

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

ln -s /system/python/lib/libpython2.6.so /system/lib/libpython2.6.so

ln -s /system/python/lib/libffi.so /system/lib/libffi.so

至此,在命令列中輸入python -v 就能在命令列中使用python了.
 
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()