前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用python写一个安卓APP?(上)

如何用python写一个安卓APP?(上)

作者头像
聪明的瓦肯人
修改2019-12-28 11:15:52
26.4K0
修改2019-12-28 11:15:52
举报
文章被收录于专栏:工科生日常

嘿嘿!被我骗进来了吧!有这种想法的人不在少数,但谁都明白这是不明智的,然而不明智不代表不可行,不管怎样,有一点永远不会变,那就是有这种想法的靓仔靓女一定和小瓦一样帅气逼人!噢耶~Let's Go~~ ——聪明的瓦肯人


1 针对这个问题 我劝大伙儿谨慎尝试 谨慎尝试 为什么咧 我把大家骗进来的目的 就是让大家看看 什么叫做 好惨一男的 不过放心 你依然可以看到 这个问题的 可能有效解决方案 然后 你就可以付诸实践 至于结果 我就不知道了 2 想必大家都知道 正常安卓APP的开发 主流靠的是Java、Kotlin 而其他语言的开发可能就需要 开发框架 python就不例外 要想使用python开发 就需要使用kivy这个 开源的python开发框架 具体如何操作呢 继续往下看 3 首先 你肯定得安装了python 这一点不多说 然后 以Windows为例安装kivy 送上官网安装教程

代码语言:javascript
复制
https://kivy.org/doc/stable/installation/installation-windows.html#install-win-di

算啦 料定你懒得打开 跟着我做吧 官网教程建议你 为你的kivy工程 生成一个虚拟环境 这样更加干净独立 当然这也是可以自主决定的 so 我是怎么简单怎么来 First 键盘win+R 输入cmd,运行 打开命令行窗口 Then 为了确保你有最新的 pip 命令行输入

代码语言:javascript
复制
python -m pip install --upgrade pip

我就不为其生成虚拟环境了 然后开始安装相关依赖文件 建议你换到国内镜像源 否则速度缓慢 甚至要访问外国网站

代码语言:javascript
复制
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glewpython -m pip install kivy.deps.gstreamer

最后 正式安装kivy (每一步命令都要回车哦)

代码语言:javascript
复制
python -m pip install kivy

你也可以选择安装kivy例程

代码语言:javascript
复制
python -m pip install kivy_examples

验证kivy是否安装成功 其实就是 编写一个kivy程序 运行是否成功 本次就编写下面的程序为例

代码语言:javascript
复制
#!/usr/bin/env python3# -*- coding: utf-8 -*-
from kivy.app import Appfrom kivy.uix.scatter import Scatterfrom kivy.uix.label import Label                                                 #以上导入各种类class TestApp(App):                              #继承了App这个类,派生TestApp类    def build(self):        s = Scatter()                            #实例化一个Scatter控件,这是一个多点触控控件,可以实现缩放、移动、旋转        l = Label(text='hello',font_size=130)    #实例化Label标签控件,用来显示文字        s.add_widget(l)                          #将Label添加到Scatter控件上        return s                                 #返回新生成的Scatter控件
TestApp().run()                                  #作为App的子类,可以执行父类中的run()函数

保存运行 结果

successfully!!! 更多kivy相关知识 请到这里

代码语言:javascript
复制
https://kivy.org/doc/stable/

4 但我们要的是安卓APP 现在仅仅是在电脑上的GUI 怎么办呢 莫急 kivy自然为你解决 还提供了3种方案供你选择 分别是

所以说 小瓦使用的是Buildozer 由于现在只适配于linux 在windows上需要安装虚拟机 我选择的虚拟机管理程序是 virtualbox 打开virtualbox中出现的 bios未开启虚拟机允许等问题 自行解决 kivy官方还算良心 已经帮我做好了安装好buildozer的 虚拟机镜像 下载地址

代码语言:javascript
复制
http://txzone.net/files/torrents/kivy-buildozer-vm-2.0.zip

一切顺利 导入虚拟机 在virtualbox设置中 配置好共享文件夹和内存(很重要) 共享文件夹的目的 就是实现windows主机与linux虚拟机 文件互传 具体点 就是将windows编写的python程序 传到linux处理打包成APK 开启(密码是kivy)

然后将上面的python程序文件 重命名为main.py buildozer只能识别main.py 将其放入共享文件夹 (比如我的共享文件夹:H盘/share-vm) 在虚拟机中将该文件夹sf_share-vm打开 将main.py复制到虚拟机桌面 一切就是这么的easy! 5 ok 是时候进行激动人心的APK打包啦 我的第一款安卓APP近在眼前 噢耶~ 首先 你需要打开终端(Terminal Emulator) 然后

代码语言:javascript
复制
cd Desktop            #回车转到桌面

再然后

代码语言:javascript
复制
buildozer init        #初始化buildozer,生成buildozer.spec文件                      #你可右击open with 'MousePad',修改title、package.name、package.domain

最后

代码语言:javascript
复制
buildozer -v android_new debug      # -v可以让下载过程可视化

最终你会在桌面多得这些文件

上面的命令就是 一顿download 一顿check 主要下载的是安卓的SDK、NDK、ANT等 (该过程你可能需要访问外国网站) 然后过了许久 又是一顿骚操作 (buildozer自动化程度就是高) 对于我这种安卓盲 这就是福音呀 满心期待的我等待着桌面bin文件夹中的 APK文件(正常情况下) 然而事实却是

我知道你看不清红色警告 # Aild not found,please install it 这意味着我失败了 buildozer的自动化也是有漏洞的 我以为 我添加了Aild即可 其实 我又开启了一段 与bug要死要活的斗争 over


预知后事如何,请听下回分解! ——聪明的瓦肯人

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 工科生日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档