您的位置:首页 > 编程语言 > Python开发

ubuntu配置python for android开发环境的日志

2014-04-14 10:25 519 查看
由于要在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[/code] 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到手机/虚拟机上运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android开发 工具