目标:

在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()

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文件就生成了

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

python for android-Python-for-Android安装笔记相关推荐

  1. 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python )

    文章目录 一.Apktool 二.IDA 三.Python 一.Apktool 参考 [Android 安全]DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar ...

  2. android毕业设计——基于Android+Java+Python的手机端办公自动化OA系统设计与实现(毕业论文+程序源码)——办公自动化OA系统

    基于Android+Java+Python的手机端办公自动化OA系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Android+Java+Python的手机端办公自动化OA系统设计与实 ...

  3. 实例教程-Python与Kivy联合开发Android程序及与硬件交互1

    <<序>> 本书更多的解释是代码中添加注释的方法,这样有助于读者更好的理解代码的作用,这是实例教程的特色. 本书可能要写几个月到一年左右的时间,因此也希望读者能够纠错.参与.互 ...

  4. qpython手机kivy库_QPython Android Kivy,从python脚本启动python脚本

    首先,如何打开命令提示符(bash) 实际上qpython=终端仿真器+Python代码编辑器+Python解释器. 所以你当然可以使用控制台!为什么不能输入bash是因为每次在qpython中单击控 ...

  5. 用python计算贷款_python for android : 贷款月月还款额计算

    python for android : 贷款每月还款额计算 功能: 1.等额本息 每月还款额计算 2.等额本金 每月还款额计算 dkjs3.py # -*- coding: utf-8 -*- im ...

  6. 【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型

    学习笔记目录 [day 1]python编程:从入门到实践学习笔记-安装.变量和简单数据类型 [day 2]python编程:从入门到实践学习笔记-列表以及其操作 [day 3]python编程:从入 ...

  7. 基于Python的监控工具Graphite安装笔记

    基于Python的监控工具Graphite安装笔记 iDaemon » 基于Python的监控工具Graphite安装笔记 基于Python的监控工具Graphite安装笔记 零. 环境简介 Gent ...

  8. python实现截图操作(android、PC、批处理)

    python实现截图操作(android.PC) 1.PC端截屏操作 def pcScreenShot(saveName,x1=0,y1=0,x2=1920,y2=1080):from PIL imp ...

  9. android 性能测试sdk,Android SDK 自动化性能测试方案: SDK + Appium + Emmagee + Python

    一.前情概要 但凡接触过性能测试的都对以下情景深有体会: 1.测试前置工作量大繁琐,手工操作费时费力: 2.测试结果有出入,自己想再确认一下,测试过程再来一遍吧:好不容易整出了一份报告,RD一看对结果 ...

最新文章

  1. python操作mongodb进行读写
  2. RunLoop深度探究以及有关面试题
  3. 关于JS中的JSON
  4. 如何解析字符串类型的xml
  5. poj2566Bound Found尺取法进阶(java)
  6. java实现递归层次遍历_Java实现二叉树的前序、中序、后序、层序遍历(递归方法)...
  7. Mybatis3 源码解析系列
  8. MySQL显示连接的数据库名
  9. python二级基础题,计算机二级python部分基础操作题
  10. dos命令 oracle显示时间,Oracle 常用 Dos命令
  11. 如何同时使用双网卡进行两个网络上网
  12. windows必备的驱动软件推荐
  13. 【福利贴】教你如何移动联通电信免流
  14. 【计算机网络】网络数据传输流程详解
  15. 《码处高效:Java开发手册》之代码风格
  16. 04 【CSS选择器 】
  17. 【各大公司年会奖品清单】腾讯送直升飞机,网易与日女星度过美好的下午?...
  18. Chrome 浏览器以 58.09% 的市场占有率稳居世界第一
  19. 计算机教师的人生格言,教师的人生格言座右铭大全
  20. 基于java小区物业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

热门文章

  1. AJAX(二)jquery ajax
  2. [USACO19JAN]Train Tracking 2——神仙结论题+DP
  3. 一.js高级(4)-函数调用-this指向-其他参数
  4. 网口扫盲二:Mac与Phy组成原理的简单分析
  5. 洛谷1828 香甜的黄油
  6. erlang r19里面的mnesia_ext
  7. 页面上水平飞舞的图片
  8. [WebApp开发]基础教程-Google官方文档-第四篇
  9. 条款39:明智而审慎的使用private继承
  10. 最短路径算法——Dijkstra and Floyd算法