ubuntu配置python for android開發環境的日誌

由於要在android平臺上使用python寫的工具,所以投靠了python for android,下面寫一下配置過程(實時更新)

tool -chain-address:http://python-for-android.readthedocs.org/en/latest/toolchain/

一開始有介紹打包下載虛擬機的地址:http://kivy.org/#download,該頁面中下載位置如下


由於我打不開該頁面,所以繼續向下看,出現一個warning


當前只支持ubuntu11.10 12.04,我的系統是ubuntu13.04-32bit比較悲劇,希望不要出問題


執行以下命令構建python最小運行環境

sudo apt-get install build-essential patch git-core ccache ant python-pip python-dev
註釋上寫:cython is used by some recipes不太懂什麼意思,先安裝再說:

sudo apt-get install cython

或者這個命令更合適一點,但是需要提前安裝pip

pip install --upgrade cython

注意:64位系統需要執行以下命令,來添加對環境的支持

sudo apt-get install ia32-libs  libc6-dev-i386
接下來是android sdk和ndk

下載要求:

  • SDK API 8 or 14 (15 will not work until a new NDK is released)
  • NDK r5b or r7
下載地址
http://developer.android.com/sdk/index.html
http://developer.android.com/sdk/ndk/index.html
NDK不太好找正確版本的,可以參照我的另外一篇博客解決
SDK可以先在android官網上下載ADT的集成包,然後在本地使用Android SDK Manger 來下載指定版本的SDK
接下來配置環境變量打開/etc/profile文件,添加
export ANDROIDSDK=/path/to/android-sdk
export ANDROIDNDK=/path/to/android-ndk
export ANDROIDNDKVER=rX
export ANDROIDAPI=X

# example
export ANDROIDSDK=/home/liangjz/Android/sdk
export ANDROIDNDK=/home/liangjz/Android/ndk-r7
export ANDROIDNDKVER=r7
export ANDROIDAPI=14
這裏的androud-sdk目錄是指SDK的最外層目錄,其包含子目錄
add-ons      extras     platform-tools  sources        temp
build-tools  platforms  samples         system-images  tools
不要找錯了
接着設定PATH變量:
export PATH=$ANDROIDNDK:$ANDROIDSDK/platform-tools:$ANDROIDSDK/tools:$PATH
分割線-------------------------------------------------------------------------------------------------------------------------------------------分割線
接下來要下載python-for-android工具,地址:https://github.com/kivy/python-for-android
如果你安裝有git那會很方便,使用這個指令
git clone git://github.com/kivy/python-for-android

然後在該工具包的根目錄下可以找到這個文件
distribute.sh
在終端中執行命令,以Build a distribution with OpenSSL module, PIL and Kivy:(不是很清楚這裏的distribution該怎麼翻譯)
./distribute.sh -m "openssl pil kivy"

然後開始了漫長的編譯過程,在編譯的末尾出現以下信息

可以看到問題應該是python的一些模塊沒安裝,百度之,得到命令如下
sudo apt-get install sqlite3 libsqlite3-tcl libsqlite3-dev
sudo apt-get install  python-bsddb3
sudo apt-get install python-tk
再次執行編譯過程:上面的缺模塊問題消失了,但是下面的問題仍然存在
/home/liangjz/Android/ndk-r7/prebuilt/linux-x86/bin/awk: 1: /home/liangjz/Android/ndk-r7/prebuilt/linux-x86/bin/awk: ELF: not found
/home/liangjz/Android/ndk-r7/prebuilt/linux-x86/bin/awk: 4: /home/liangjz/Android/ndk-r7/prebuilt/linux-x86/bin/awk: Syntax error: word unexpected (expecting ")")
再次百度之http://blog.csdn.net/gengshenghong/article/details/6982090,解決方法是將awk文件重命名,然後再次執行編譯
再次經過漫長的編譯刷屏後終於出現 All Done!
然後需要編譯個栗子生存apk看看
切到對應目錄
cd dist/default
構建apk
./build.py --package org.test.touchtracer --name touchtracer \
--version 1.0 --dir /home/liangjz/Android/python-for-android/build/kivy/kivy-stable/examples/demo/touchtracer debug
這個源文件的目錄有點詭異,按照官網上的寫出現目錄錯誤,後來直接改成python-for-andoroid  build好的kivy裏的栗子,構建apk運行才正常
我最後生成的apk的位置在/home/liangjz/Android/python-for-android/dist/default/bin,你的具體位置可以參照這個找
最後安裝apk到手機/虛擬機上運行























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章