如何Python写一个安卓APP

如何Python写一个安卓APP使用 python 写一个安卓 APP

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://youerning.blog.51cto.com//

前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python写安卓的APP的可能性,还真行。

这里写图片描述

然后设计应该是这样:

这里写图片描述

如果觉得可行的话,评论留言一下你觉得应该写进这个APP的运维常用命令吧^_^,笔者暂时想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸过来吧,笔者到时应该也会把这个写成一个项目放到github上,大家一起用嘛,开源才是王道,哈哈。

更新pip,setuptools

python -m pip install --upgrade pip wheel setuptools 

然后是安装所需要的依赖

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \ kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/ 
python -m pip install kivy 

如果kivy在python中应该就能导入了。

这里写图片描述

from kivy.app import App from kivy.uix.button importButton class TestApp(App): def build(self): return Button(text='Hello,kivy') TestApp().run() 

运行:

这里写图片描述

然后会弹出一个框,大概如下,点击”hello,kivy”会变颜色

这里写图片描述

点击窗口并按“F1”会这个窗口的一些属性

这里写图片描述

然后我们回过头看一看代码。

导入App,然后让TestApp这个类继承 from kivy.app import App 导入一个Button,运维有这个button,当你点击的时候才会有所反应 from kivy.uix.button importButton 定义类,名字必须是xxxApp class TestApp(App): build一个Button def build(self): 返回一个Button,文字内容是“Hello,kivy” return Button(text='Hello,kivy') 运行,因为继承了App,所以才有的run这个方法 TestApp().run() 
You’ll need: A linux computer or a virtual machine Java Python 2.7 (not 2.6.) Jinja2 (python module) Apache ant Android SDK 

当然你也可以下载官方镜像,因为第一次编译需要去国外下一大堆东西,所以请自备梯子。

在笔者提供的镜像里,桌面上有一个dev_and,只要将上面写的代码,放入这个文件夹即可(当然也可以在其他目录,后面会讲到)。

cd Desktop/dev_and/ 

初始化会在当前目录生成一个buildozer.spec文件 用于配置生成的apk相关信息

buildozer init 

修改buildozer.spec文件

vi buildozer.spec 

至少修改下面三项

# (str) Title of your application title = helloworld # (str) Package name package.name = helloapp # (str) Package domain (needed for android/ios packaging) package.domain = youer.com 

然后注释

# (str) Application versioning (method 1) #version.regex = __version__ = ['"](.*)['"] #version.filename = %(source.dir)s/main.py 下面这行改为非注释 version = 1.2.0 

最后我们生成我们需要的apk文件

buildozer -v android debug 

buildozer命令会在当前文件夹创建一个bin,该文件夹里面有我们想要的apk文件

helloapp-1.2.0-debug.apk

安装以后应该是这样

这里写图片描述

话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同(vmware或virtualbox)自行扩容吧。

这里写图片描述这里写图片描述这里写图片描述

这里写图片描述

Label: id: time text: 'xxxx' font_size: 60 

从无到有做一个App,我想我会另起一篇文章吧。

本文出自 “又耳的笔记本” 博客,请务必保留此出处http://youerning.blog.51cto.com//

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202152.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:46
下一篇 2026年3月20日 上午7:46


相关推荐

  • git基本使用(超详细)[通俗易懂]

    git基本使用(超详细)[通俗易懂]git基本使用一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?1.SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。2.Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个

    2026年2月5日
    4
  • 全链路开源+PBR物理渲染!Hunyuan3D-2.1本地部署教程:重新定义工业级3D生成

    全链路开源+PBR物理渲染!Hunyuan3D-2.1本地部署教程:重新定义工业级3D生成

    2026年3月13日
    2
  • Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包>>>>>©Copyright 蕃薯耀2017年3月6日http://fanshuyao.iteye.com/ 一、Linux快速部署War包操作,暂时是最简单的操作1、先关闭Tomcat/home/java/tomcat7/bin/shutdown.sh 2、进入War包存放目录(可以通过工具:SSHSecureShellClient把War传到Linux服务器)cd/home/projec

    2022年5月29日
    41
  • 简述SpringAOP的实现原理_spring AOP

    简述SpringAOP的实现原理_spring AOPAOP用Spring需要导入包<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version> </dependency>方式一:使用Spring接口编写javapackage com.kuang.log;

    2022年8月8日
    8
  • CCNA学习指南 第七章 下载

    CCNA学习指南 第七章 下载

    2021年8月31日
    54
  • 博客日记目录[通俗易懂]

    博客日记目录[通俗易懂]用于整理博客,清晰记录发文过程2022年1月18日目录2022年1月2022年1月2022年1月20日【修改】Spring框架概述【补充】IOC操作Bean管理2022年1月19日【修改】Spring框架概述【补充】IOC操作Bean管理(xml)【修改】IDEA错误Nomainclassspecified【补充】新增视频版2022年1月18日【修改】Spring框架概述【补充】IOC操作Bean管理(xml)…

    2022年6月8日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号