Kivy a to z -- Kivy的编译环境的搭建以及编译和运行

时间:2021-01-04 15:57:30

 

1 Kivy的官网上已经为我们准备好了VirtualBox的虚拟机镜像,下下来后在Virtualbox中运行即可,无需再自己搭建环境。

https://docs.google.com/uc?export=download&confirm=no_antivirus&id=0B1WO07-OL50_bTR0SElrLTZGWEU

 

(注意:要访问上面的链接必须*)

 

2 如果是想研究一下Kivy,不推荐直接用虚拟镜像的方法,还是自己配置一下吧。好,接下来讲怎么做。

 

3 下载NDK

http://dl.google.com/android/ndk/android-ndk-r8c-linux-x86.tar.bz2

 

4 下载SDK

http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz

 

5 把它们解压,如解压到/opt目录下。

 

6 更新SDK

运行SDK tools目录下的android,打开更新界面,选择需要更新的版本,下载更新

 

7 安装编译所需的安装包:

sudo apt-get install zlib1g-dev build-essentialopenjdk-7-jdk  cython ant

 

这里需要注意的是,用这种方式安装:cython和ant的版本可能比较旧,满足不了编译的要求,如在编译AndroidJava程序时,要求ant的版本大于1.8,而通过这种方式安装的版本为1.7,这个时候就要自己手动去下载安装了。

下载地址为:

ant

http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.3-bin.tar.gz

 

cython

http://cython.org/release/Cython-0.20.1.tar.gz

 

ant不用安装,直接解压即可

cython解压后执行命令:python setup.py install进行安装。

 

8 下载python-for-android

git clonehttps://github.com/kivy/python-for-android.git

也可以去https://github.com/kivy/python-for-android直接下载压缩包。

 

9 设置环境变量:

export ANDROIDSDK="/path/to/android/android-sdk-linux_86"

exportANDROIDNDK="/path/to/android/android-ndk-r8c"

export ANDROIDNDKVER=r8c

export ANDROIDAPI=14

export PATH=$PATH:/path/to/apache-ant-1.9.3/bin

 注意,把路径改成各工具的路径。

 

10 按下来就是开始编译了:

先cd到python-for-android所在的目录,然后执行:

./distribute.sh -m 'openssl pyjnius pil kivy'

说明一下:

PIL(Python Image Library)是Python下的一个图像处理库

pyjnius    用于在android平台下从Python调用Java代码

kivy        就是我们今天的主角

 

11 如果一切顺利,很快就能完成整个编译过程,但是在编译的过程中也可能会出现一些错误:

No module named argparse

原因:Ubuntu上装的是Python 1.6,没有这个库

解决方法:

easy_install argparse

 

wget https not support

原因:wget 1.2不支持https连接

解决方法:

apt-get remove wget

这样,distribute.sh就会用curl来下载软件包

要用的时候再装上。或者更新wget到高版本。

 

12 接下来就是如何将写好的Python程序打包成apk了

cd dist/default

../../build/hostpython/Python-2.7.2/hostpython build.py --package org.test.touchtracer --name touchtracer --version 1.0 --dir../../build/kivy/kivy-stable/examples/demo/touchtracer debug

这样就将examples/demo/touchtracer这个例子打包到apk里了。

生成的路径为:dist/default/bin/touchtracer-1.0-debug-unaligned.apk

 

13 接下来就是安装程序了:

先用adb连接手机

adb install bin/touchtracer-1.0-debug-unaligned.apk

 

14 参考文档

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