Python:将python程序打包为apk文件

1.概述
Kivy是一套Python下的跨平台开源应用开发框架官网我们可以用
它来将Python程序打包为安卓的apk安装文件。以下是在windows环境中使用。
安装和配置的过程中会下载很多东西,确保你能够稳定地访问外网,另外推荐一个视频教程:Youtube
2. 步骤
第一当然是安装了Python,我的版本是Python 2.7.13,然后就是安装Kivy包:
在这里插入图片描述
然后就是写一个简单的程序"main.py"测试一下:

import kivy
kivy.require('1.9.1')
from kivy.app import App
from kivy.uix.button import Button

class test(App):
    def build(self):
        return Button(text='hello world')
    

if __name__ == '__main__':
    test().run()

运行截图:
在这里插入图片描述
运行成功,那开发环境基本没问题了。然后下面就是怎么将这个程序打包成apk。

首先需要安装虚拟机 VirtualBox,这个没问题,很快就装好了,然后Kivy官方制作了该虚拟机的映像(很体贴),下载后就直接能运行了,省去不少麻烦。下载地址,或者直接去官网下载
在这里插入图片描述
下载并解压之后,打开VB并载入该文件夹下的虚拟机文件,然后运行(登录密码kivy):
在这里插入图片描述
进入到该系统中之后,就需要开始配置环境。官方指导

首先我们先在该系统中添加一个共享文件夹,这样可以和windows共享文件,在VB的设备->共享文件夹选项中有配置:
在这里插入图片描述
然后我们使用固定分配,在windows下某个路径新建一个文件夹后将其选择为共享文件夹,并选择自动挂载:

在这里插入图片描述
然后重新启动虚拟机就可以访问该共享文件夹了:
在这里插入图片描述
设置好了共享文件夹后,可以将之前写的测试程序main.py拷贝到该文件夹,然后在虚拟机中拷贝到桌面备用。

然后打开终端(cd到桌面),执行buildozer init命令,之后会在桌面上生成buildozer.spec的配置文件:
在这里插入图片描述
然后使用命令gedit buildozer.spec来编辑该文件,(如果没有gedit可以sudo apt-get install gedit来安装)
在这里插入图片描述
基本不用改什么,那个source.dir 需要注意,这是刚刚我们放在桌面上的main.py的路径。

然后运行buildozer android_new debug,接着就开始下载很多东西了,例如Android SDK,Android NDK之类,并且是需要访问外网的,自搭梯子。这个过程要很久,让我一度以为出了问题,然后我中午睡一觉起来就差不多了^^。

然后在它自动下载配置之后就会在桌面的bin文件夹下面生成了apk文件,可以安装在手机上试一下。

然后基本流程大概如此^^,详细可以去官网了解,我就是按照官网的步骤完成的。

最后再推荐一个MIT开发的快速制作安卓app的网站,http://appinventor.mit.edu/explore/#

------------ 转载请注明出处 ------------

要将Python程序打包APK文件,你需要使用Kivy或Buildozer这样的工具。 Kivy是一个用于创建跨平台应用程序Python框架。它可以帮助你构建具有动态用户界面和复杂逻辑的应用程序。Buildozer是一个基于Python的命令行工具,可以将Python应用程序打包为Android APK文件。 以下是将Python程序打包APK文件的步骤: 1. 安装Kivy和Buildozer ``` pip install kivy pip install buildozer ``` 2. 创建一个Kivy应用程序 创建一个简单的Kivy应用程序,并确保它能够在你的本地计算机上运行。你可以使用Kivy的官方文档来学习如何创建一个Kivy应用程序。例如,下面是一个简单的Kivy应用程序: ``` from kivy.app import App from kivy.uix.button import Button class TestApp(App): def build(self): return Button(text='Hello World') TestApp().run() ``` 3. 创建一个buildozer.spec文件 在你的Kivy应用程序的根目录中创建一个名为buildozer.spec的文件。该文件包含了应用程序的元数据和其他配置信息。你可以在Buildozer的官方文档中查看所有可用选项。以下是一个简单的buildozer.spec文件示例: ``` [app] # (str) Title of your application title = My Awesome App # (str) Package name package.name = myapp # (str) Package domain (needed for android/ios packaging) package.domain = com.example.myapp # (str) Source code where the main.py live source.dir = . # (list) Source files to include (let empty to include all the files) source.include_exts = py,png,jpg,kv,atlas # (list) Application requirements requirements = kivy # (str) Your application version version = 0.1 # (int) Minimum API required android.minapi = 21 # (int) Android SDK version to use android.sdk = 28 # (str) Android NDK version to use android.ndk = 19b # (list) Permissions android.permissions = INTERNET # (list) Services android.services = # (str) Path to the default icon of the application icon.filename = icon.png # (str) Path to the background image of the application #background.filename = background.png # (str) Path to the presplash image of the application #presplash.filename = presplash.png # (str) Path to the splash image of the application #splash.filename = splash.png # (list) Opaque binary blobs (e.g. OpenGL ES 2 shaders) #p4a.opaque_binaries = # (list) Java classes to add to the compilation classpath #android.add_jars = foo.jar,bar.jar # (list) Java files to add to the android project #android.add_src = # (list) AAR libraries to add to the Android project #android.add_aars = # (list) Gradle dependencies to add #android.gradle_dependencies = # (bool) Indicate whether the app should be fullscreen or not fullscreen = 0 ``` 请注意,你需要将title、package.name和package.domain等值替换为你自己的应用程序元数据。 4. 创建一个Android虚拟环境 在你的本地计算机上创建一个Android虚拟环境。你可以使用Android Studio来创建一个虚拟设备并安装必要的SDK和NDK版本。 5. 打包应用程序 在你的应用程序根目录中运行以下命令: ``` buildozer android debug ``` 这将使用Buildozer工具来打包你的应用程序并生成一个名为myapp-0.1-debug.apkAPK文件。请注意,这可能需要一段时间才能完成,并且你需要确保你的Android虚拟环境已经启动。 6. 在Android设备上安装应用程序 将生成的APK文件复制到你的Android设备上,并在设备上安装它。 以上就是将Python程序打包APK文件的步骤。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值