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

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

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

https://kivy.org/doc/stable/installation/installation-windows.html#install-win-di

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

python -m pip install --upgrade pip

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

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glewpython -m pip install kivy.deps.gstreamer

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

python -m pip install kivy

你也可以选择安装kivy例程

python -m pip install kivy_examples

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

#!/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相关知识 请到这里

https://kivy.org/doc/stable/

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

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

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) 然后

cd Desktop #回车转到桌面

再然后

buildozer init #初始化buildozer,生成buildozer.spec文件 #你可右击open with 'MousePad',修改title、package.name、package.domain

最后

buildozer -v android_new debug # -v可以让下载过程可视化

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值