python for android-Python-for-Android安装笔记
目标:
在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安装笔记相关推荐
- 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python )
文章目录 一.Apktool 二.IDA 三.Python 一.Apktool 参考 [Android 安全]DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar ...
- android毕业设计——基于Android+Java+Python的手机端办公自动化OA系统设计与实现(毕业论文+程序源码)——办公自动化OA系统
基于Android+Java+Python的手机端办公自动化OA系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Android+Java+Python的手机端办公自动化OA系统设计与实 ...
- 实例教程-Python与Kivy联合开发Android程序及与硬件交互1
<<序>> 本书更多的解释是代码中添加注释的方法,这样有助于读者更好的理解代码的作用,这是实例教程的特色. 本书可能要写几个月到一年左右的时间,因此也希望读者能够纠错.参与.互 ...
- qpython手机kivy库_QPython Android Kivy,从python脚本启动python脚本
首先,如何打开命令提示符(bash) 实际上qpython=终端仿真器+Python代码编辑器+Python解释器. 所以你当然可以使用控制台!为什么不能输入bash是因为每次在qpython中单击控 ...
- 用python计算贷款_python for android : 贷款月月还款额计算
python for android : 贷款每月还款额计算 功能: 1.等额本息 每月还款额计算 2.等额本金 每月还款额计算 dkjs3.py # -*- coding: utf-8 -*- im ...
- 【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型
学习笔记目录 [day 1]python编程:从入门到实践学习笔记-安装.变量和简单数据类型 [day 2]python编程:从入门到实践学习笔记-列表以及其操作 [day 3]python编程:从入 ...
- 基于Python的监控工具Graphite安装笔记
基于Python的监控工具Graphite安装笔记 iDaemon » 基于Python的监控工具Graphite安装笔记 基于Python的监控工具Graphite安装笔记 零. 环境简介 Gent ...
- python实现截图操作(android、PC、批处理)
python实现截图操作(android.PC) 1.PC端截屏操作 def pcScreenShot(saveName,x1=0,y1=0,x2=1920,y2=1080):from PIL imp ...
- android 性能测试sdk,Android SDK 自动化性能测试方案: SDK + Appium + Emmagee + Python
一.前情概要 但凡接触过性能测试的都对以下情景深有体会: 1.测试前置工作量大繁琐,手工操作费时费力: 2.测试结果有出入,自己想再确认一下,测试过程再来一遍吧:好不容易整出了一份报告,RD一看对结果 ...
最新文章
- python操作mongodb进行读写
- RunLoop深度探究以及有关面试题
- 关于JS中的JSON
- 如何解析字符串类型的xml
- poj2566Bound Found尺取法进阶(java)
- java实现递归层次遍历_Java实现二叉树的前序、中序、后序、层序遍历(递归方法)...
- Mybatis3 源码解析系列
- MySQL显示连接的数据库名
- python二级基础题,计算机二级python部分基础操作题
- dos命令 oracle显示时间,Oracle 常用 Dos命令
- 如何同时使用双网卡进行两个网络上网
- windows必备的驱动软件推荐
- 【福利贴】教你如何移动联通电信免流
- 【计算机网络】网络数据传输流程详解
- 《码处高效:Java开发手册》之代码风格
- 04 【CSS选择器 】
- 【各大公司年会奖品清单】腾讯送直升飞机,网易与日女星度过美好的下午?...
- Chrome 浏览器以 58.09% 的市场占有率稳居世界第一
- 计算机教师的人生格言,教师的人生格言座右铭大全
- 基于java小区物业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
热门文章
- AJAX(二)jquery ajax
- [USACO19JAN]Train Tracking 2——神仙结论题+DP
- 一.js高级(4)-函数调用-this指向-其他参数
- 网口扫盲二:Mac与Phy组成原理的简单分析
- 洛谷1828 香甜的黄油
- erlang r19里面的mnesia_ext
- 页面上水平飞舞的图片
- [WebApp开发]基础教程-Google官方文档-第四篇
- 条款39:明智而审慎的使用private继承
- 最短路径算法——Dijkstra and Floyd算法