原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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
