python 打包 apk

news2024/9/23 7:33:45

转换之前python代码需要使用指定的框架才能转换,列如:kivy

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button

import time
import pyautogui
import threading

status = False


# 这是一个将被线程执行的函数
def my_function():
    while status:
        time.sleep(2)
        pyautogui.press('backspace')


class MyLayout(BoxLayout):
    def __init__(self, **kwargs):
        super(MyLayout, self).__init__(**kwargs)
        self.orientation = 'vertical'  # 设置布局为垂直方向

        # 创建按钮
        self.button = Button(text='close', on_press=self.update_button_text, font_size=24)  # 设置按钮文本和点击事件
        self.button.background_color = (1, 0, 0, 1)  # 设置按钮背景为红色
        self.add_widget(self.button)  # 将按钮添加到布局中

    def update_button_text(self, instance):
        global status
        # text = self.text_input.text  # 获取文本输入框中的文本
        if self.button.text == 'close':
            self.button.text = 'open'
            self.button.background_color = (0, 0, 1, 1)  # 设置按钮背景为蓝色
            status = True
            my_thread = threading.Thread(target=my_function)
            # 启动线程
            my_thread.start()

        else:
            self.button.text = 'close'  # 将获取的文本设置为按钮的文本
            self.button.background_color = (1, 0, 0, 1)  # 设置按钮背景为红色
            status = False


class MyApp(App):
    def build(self):
        return MyLayout()  # 返回自定义布局类的实例作为应用的根部件

    def on_stop(self):
        global status
        status = False


if __name__ == '__main__':
    MyApp().run()  # 运行应用

安装buidozer生成打包文件

# 安装buidozer
pip install buildozer
# 生成“buildozer.spec”文件
buildozer init

但是在Windows中无法直接使用 builbozer

这个时候我们就得使用VirtualBox【虚拟机】来创建一个Linux环境

官网下载:Downloads – Oracle VM VirtualBox

在这里插入图片描述

这个就相当于我们的编辑器,接下来下载Linux环境
下载地址:清华大学开源软件镜像站

在这里插入图片描述

安装VirtualBox

1、打开下载好的VirtualBox安装文件,一路点击“下一步”,留意安装位置,可以将C盘改为D盘、
2、运行VirtualBox,点击新建
在这里插入图片描述
在这里插入图片描述

3、分配内存是最后多分配一些
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

配置虚拟机

1、点击图中的设置开始配置虚拟机的内存、CPU、显存,参数可依据使用目的自行设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、安装虚拟盘,选择之前在清华镜像源下载Ubuntu安装文件,可将在浏览器下载的文件复制到自己熟悉路径,图中路径为D盘内ProgramFiles文件夹下Oracle文件夹内。

在这里插入图片描述

安装Ubuntu

1、点击启动,点击设备分配光驱,安装Ubuntu,选择中文,最小安装,创建账户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
姓名和密码可自定义,但一定要记住!点击继续,然后等待安装完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开启共享文件夹

1、由于前面已经安装过增强功能了。所以直接修改虚拟机的设置进行共享
在这里插入图片描述
在这里插入图片描述
共享文件夹路径可以自行选择,记得勾选自动挂载
在这里插入图片描述
在这里插入图片描述

我们创建的共享文件不能直接使用需要在桌面上创建一个 win10一个文件来进行链接

1、这里我们需要安装一下光盘
在这里插入图片描述
在这里插入图片描述

在/media/tuarus_test/VBox_GAs_5.2.16内找到VBoxLinuxAddition.run文件,执行run文件,等待安装成功

在这里插入图片描述

由于之前已经创建过共享文件夹了,只是连接失败了,所以无需在创建共享文件夹,直接输入命令sudo mount -t vboxsf shared /home/eve/桌面/Win10,将主机共享文件夹与Ubuntu的共享文件夹连接起来,命令中的shared是主机的共享文件夹,/home/eve/桌面/Win10是虚拟机中的共享文件夹

在这里插入图片描述
在这里插入图片描述

作者累了去参考其他作者吧

https://blog.csdn.net/Inochigohan/article/details/119791518
https://blog.csdn.net/qq_51555368/article/details/132071347

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1468014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本博客工程源码总目录----方便你快速找到自己喜欢的项目

目录 1、前言2、本人项目总分类3、FPGA图像处理类项目-->快速查找3.1、图像采集-->MIPI视频类3.2、图像采集-->SDI视频类3.3、图像采集-->PAL视频类3.4、图像采集-->Cmeralink视频类3.5、图像转换-->LVDS视频转换3.6、图像缩放(纯Verilog版本HLS版…

QEMU开发入门

1. 简介 QEMU(Quick EMUlator)是一个开源的虚拟化软件,它能够模拟多种硬件平台,并在这些平台上运行各种操作系统。QEMU可以在不同的主机架构之间进行虚拟化,例如x86、ARM、PowerPC、Risc-V等。QEMU是一个功能强大且灵…

【竞技宝jjb.lol】LOL:wayward奎桑提主宰团战 WE2-1力克IG

北京时间2024年2月24日,英雄联盟LPL2024春季常规赛继续进行,昨日共进行三场比赛,第二场比赛由IG对阵WE。本场比赛双方前两局战至1-1平,决胜局WE中期抓住IG失误后拿下大龙奠定胜局,最终WE2-1力克IG。以下是本场比赛的详…

二次元风格个人主页HTML源码

源码介绍 直接上传服务器压缩包解压就完事了,修改index.html内代码即可,注释写的很全,替换图片在文件夹img,只有前端,没有后台,大佬如果需要,可以自行添加后台。本源码非常适合个人工作室主页。…

利用psutil库检查脚本是否在运行

摘要 如果要判断某一脚本是否在运行,可以通过psutil库获取所有进程的cmdline,并判断指定的文件名是否在cmdline中。 目录 1.psutil库简介 2.检查代码及说明 2.1检查思路 2.2异常捕获 2.3执行方法 1.psutil库简介 psutil 是一个跨平台(…

Optimization for Deep Learning

Notations: : model parameters at time step or : gradient at used to compute : momentum accumulated from time step to time step , which is used to cpmpute Optimization What is Optimization about? 找到一组参数,使得 最小,或者说是…

内容安全补充

第十一天 密码学 近现代加密算法 古典加密技术 --- 算法保密原则 近现代加密技术 --- 算法公开,密钥保密 对称加密算法,非对称加密算法 对称加密 --- 加密和解密的过程中使用的是同一把密钥。 所以,对称加密所使用的算法一定是一种双向…

概率基础——指数分布

概率基础——指数分布 介绍 指数分布是一种连续概率分布,描述了独立随机事件之间的时间间隔。它常被用来模拟随机事件的等待时间,例如到达下一位顾客的等待时间、设备故障的间隔时间等。指数分布具有无记忆性的特点,即在给定时间内没有发生…

*MYSQL--索引--内部原理

MYSQL的索引根据功能,主要有三大类型: 1.HASH索引 2.二叉树 3.BTREE索引 一:HASH索引 1.内部原理: 在设置了某列为索引列之后,并且开始或者将要在相应索引列创建数据的时候,系统通过某种算法 F(X) 自动计算出来一个十六进制的哈希值,这个哈希值能够对应相应的字段值 所以…

单片机51 输入和输出

一、IO口基本概念介绍 单片机的IO口(Input/Output口)是连接单片机与外部电路或设备的接口。单片机的IO口可以分为输入口和输出口两种,用于控制和监测外部设备的状态。 1. 输入口:单片机的输入口用于接收外部电路或设备的信号。输…

C++的string容器->基本概念、构造函数、赋值操作、字符串拼接、查找和替换、字符串比较、字符存取、插入和删除、子串

#include<iostream> using namespace std; #include <string> //string的构造函数 /* -string(); //创建一个空的字符串 例如: string str; -string(const char* s); //使用字符串s初始化 -string(const string& str); //使…

Linux安装jdktomcatMySQl一战完成

一、jdk安装具体步骤 1、查询是否有jdk java -version 2、进入opt目录 cd /opt/ 连接服务器工具 进入opt目录&#xff0c;把压缩文件上传 查询是否查询成功 进入解压到的目录 cd /usr/local/创建新文件夹 mkdir java 再回到opt目录进行解压 cd /opt 解压到刚刚创建的文…

springboot邮箱注册

1.准备工作 操作之前准备两个邮箱 我准备了网易邮箱和QQ邮箱&#xff0c;网易邮箱用来发送验证码&#xff0c;QQ邮箱用来做注册&#xff08;希望大家和我一样&#xff0c;不然可能会出错 &#xff09; 发送验证码的邮箱需要开启一些设置&#xff0c;否则不…

CSS 字体和文本详解

CSS 字体和文本详解 字体设置 如果字体名有空格&#xff0c;使用引号包裹。建议使用常见字体&#xff0c; 否则兼容性不好。字体名称可以用英文&#xff0c;也可以用中文&#xff0c; 推荐使用英文。 示例代码: 运行结果: 字体大小 不同的浏览器默认字号不一样&#xff0c;…

多线程相关(4)

线程安全-下 使用层面锁优化减少锁的时间&#xff1a;减少锁的粒度&#xff1a;锁粗化&#xff1a;使用读写锁&#xff1a;使用CAS&#xff1a; 系统层面锁优化自适应自旋锁锁消除锁升级偏向锁轻量级锁重量级锁 ThreadLocal原理ThreadLocal简介原理ThreadLocal内存泄漏 HashMap…

15-36V降压充电光伏MPPT充电方案

1.MPPT原理--简介 MPPT&#xff0c;全称为Maximum Power Point Tracking&#xff0c;即最大功点跟踪&#xff0c;它是一种通过调节电气模块的工作状态&#xff0c;使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中&#xff0c;可有效地…

【Langchain多Agent实践】一个有推销功能的旅游聊天机器人

【LangchainStreamlit】旅游聊天机器人_langchain streamlit-CSDN博客 视频讲解地址&#xff1a;【Langchain Agent】带推销功能的旅游聊天机器人_哔哩哔哩_bilibili 体验地址&#xff1a; http://101.33.225.241:8503/ github地址&#xff1a;GitHub - jerry1900/langcha…

从软硬件以及常见框架思考高并发设计

目录 文章简介 扩展方式 横向扩展 纵向扩展 站在软件的层面上看 站在硬件的层面上看 站在经典的单机服务框架上看 性能提升的思考方向 可用性提升的思考方向 扩展性提升的思考方向 文章简介 先从整体&#xff0c;体系认识&#xff0c;理解高并发的策略&#xff0c;方…

xff注入 [CISCN2019 华东南赛区]Web111

打开题目 看见smarty 想到模板注入 又看见ip 想到xff注入 一般情况下输入{$smarty.version}就可以看到返回的smarty的版本号。该题目的Smarty版本是3.1.30 在Smarty3的官方手册里有以下描述: Smarty已经废弃{php}标签&#xff0c;强烈建议不要使用。在Smarty 3.1&#xff…

vue实现递归组件

父组件&#xff1a; <Tree :data"data"></Tree> import Tree from "/components/Tree.vue"; const data reactive([{name: "1",checked: true,children: [{name: "1-1",checked: false,},],},&#xff09; 子组件&#…