目标:

在Ubuntu上配置Android打包环境

环境配置:

Python使用2.7的,尽量不要用3,否则会出现很多无法解决的问题。

Linux使用的是Vmware-workstation pro下的Ubuntu16.04。

步骤说明:

1. 首先安装有Python2.7,并确认命令行下可以执行python命令。在Ubuntu系统上一般都自满足了。

2. Kivy配置

kivy是一套跨平台(windows,linux,osx,android,ios)的GUI开发解决方案。

使用包管理器进行安装。(之前尝试过其他的方式,可是都没有安装成功)

(1)根据喜好来选择一个PPA源添加到系统里:sudo add-apt-repository ppa:kivy-team/kivy #稳定版

sudo add-apt-repositoryppa:kivy-team/kivy-daily

如果用于长期使用追求稳定,推荐使用稳定版,二者不要同时添加,避免出现混乱和错误。在这里我使用的是稳定版。

(2)用包管理器更新一下包列表:sudo apt-get update

(3)更新列表完毕后,就可以安装了:sudo apt-get install python-kivy   #Python2用这个来安装

这时kivy已经安装成功了,可以用下面代码测试。import kivy

kivy.require('1.9.1')

from kivy.app import App

from kivy.uix.button import Button

class test(App):

def build(self):

return Button(text='hello world')

if __name__ == '__main__':

test().run()

54f93941159d

3. 安装必要的依赖包sudo dpkg --add-architecture i386

sudo apt-get update

sudo apt-get install libssl-dev libffi-dev

pip install cython==0.23

sudo apt-get install virtualenv

sudo apt-get install -y build-essentialccache git zlib1g-dev python2.7 python2.7-dev libncurses5:i386 libstdc++6:i386zlib1g:i386 openjdk-8-jdk unzip ant ccache autoconf libtool

Cython使用0.23,高版本会有问题

4. 安装SDK、NDK

直接下载解压到目录下即可,需要注意他们的路径。这里SDK使用的是24.4,NDK使用的是r10e。之前下载的个别版本SDK出现过找不到android.shell文件的问题,因此会出现无法生成sdk manager。对于NDK,强烈建议使用r10e,官方文档中也是r10e,否则在后期的编译阶段会有很多错误无法解决。

(1)解压完成后就可以配置环境变量sudogedit ~/.bashrc

在文档末尾处添加export ANDROIDSDK="/home/st/Android/android-sdk-linux"  #根据自己SDK的路径和文件名进行设置

export ANDROIDNDK="/home/st/Android/android-ndk-r10e"#根据自己NDK的路径和文件名进行设置

export ANDROIDAPI="19"  # Minimum API version your application

require

export ANDROIDNDKVER="r10e"  # Version of the NDK you installed

保存后退出source  ~/.bashrc

(2)cd进入SDK文件夹,进入toolscd  /home/st/Android/android-sdk-linux/tools

./android

安装必要的sdk build tools 和API。(在程序运行后期也会提示缺少哪一种版本的API和工具,到时再安装也可以)

5.  安装python-for-androidpip install python-for-android

6.  开始打包(根据自己文件的路径修改对应路径及名称)p4a apk --private/home/st/Android/code --package=org.myapp --name "My application"--version 0.1 --bootstrap=sdl2 --requirements=python2,kivy

会提示找不到private.mp3文件,(这是p4a的一个bug),所以需要手动使用touch命令创建这两个文件(一定是touch命令创建的,目录可以用mkdir创建),在编译过程中会出现使用了那个目录下的dists进行提示,需要在对应dists目录下的/src/main文件下创建。~/python-for-android/dists/myapp/src/main/assets/private.mp3

~/python-for-android/dists/myapp/src/main/res/drawable/icon.png

同理也需要创建一个icon.png

在执行p4a apk的过程中会安装一些需要用到的依赖性包等,静静等待。

到这里一个.apk文件就生成了

54f93941159d

Android端运行界面

参考链接

使用包管理器进行安装

https://github.com/cycleuser/Kivy-CN/blob/master/01-Kivy-Installation.md

ubuntu配置android打包环境

https://blog.csdn.net/ghking1/article/details/79609830

python-for-android

https://python-for-android.readthedocs.io/en/latest/quickstart/

No Use

but meaningful --kivy折腾笔记

http://www.cnblogs.com/lanqie/p/8359231.html

kivy踩坑记

https://blog.csdn.net/ghking1/article/details/78697645

https://kivy.org/docs/guide/packaging-android.html

input:p4a apk--private /home/st/Android/code --package=org.myapp --name "Myapplication" --version 0.1 --bootstrap=sdl2 --requirements=python2,kivy

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐