用kivy提供的工具将python写的东西打包成apk
今天我想来试试kivy那个之前看起来相当复杂的打包安apk的方法。
先找到官网上的教程:http://kivy.org/docs/guide/packaging-android.html?highlight=android
步骤都是参照它上面说的,我的linux是mint 13 xfce 64bit,基于ubuntu12.04的,应该是可以。
1、首先是一长串的apt-get install
我整理i一下,大概是这个样子:
sudo apt-get install build-essential patch git-core ccache ant python-pip python-dev build-essential patch git-core ccache ant python-pip python-dev ia32-libs and libc6-dev-i386 lib32stdc++6 lib32z1
2、然后是确定cython为最新版本:
pip install --upgrade cython
3、下载sdk和ndk
http://developer.android.com/sdk/index.html
http://developer.android.com/sdk/ndk/index.html
我现在下载的sdk是api 17了,带eclipse的,ndk是r8e
4、配置sdk和ndk的环境变量
按照教程用export命令貌似只能在一个终端窗口有效,关闭这个窗口后就不能用了。所以找了个一直有效的方法:编辑/etc/profile
sudo gedit /etc/profile
然后将这段添加在文件位部:
export ANDROIDSDK="/home/wind/code/android-sdk"
export ANDROIDNDK="/home/wind/code/android-ndk-r8e"
export ANDROIDNDKVER=r8e
export ANDROIDAPI=17export PATH=$PATH:$ANDROIDNDK:$ANDROIDSDK/tools:$ANDROIDSDK/platform-tools
因为adb命令已经从sdk的tools目录转移到platform-tools目录了,所了把platform-tools目录也添加进去。
注销后才能生效,可以用echo $PATH 命令看生效没。
哦,差点忘了,如果是第一次使用sdk,还需要做一个avd的虚拟机。用来之后测试运行吧可能。
5、下载python-for-android
教程上是用git clone,我怕麻烦,直接去https://github.com/kivy/python-for-android 把zip文件下载下来,解压就行了。
6、创建自己的distribution
cd到python-for-android目录后
./distribute.sh -m "kivy"
出来的结果是这样的:
Module pygame have invalid md5, redownload.
Downloading http://pygame.org/ftp/pygame-1.9.1release.tar.gz
--2013-06-07 16:07:50-- http://pygame.org/ftp/pygame-1.9.1release.tar.gz
Resolving pygame.org (pygame.org)... failed: Name or service not known.
wget: unable to resolve host address `pygame.org'
靠啊,pygame.org不能访问了,然后就没有下文了……
………………………………………………………………………………
再试了几次居然就能访问了,正在下载中……