首页 > 解决方案 > 如何将 kivy 应用导出为 .apk?(安卓应用)

问题描述

我有一个非常基本的 kivy 应用程序,我想对其进行测试并确保我可以让它在我的手机上运行。我是新手,所以请原谅我缺乏知识。

据我了解,一旦我编写了我的 kivy 应用程序,我需要将其导出为 .apk 文件。我正在寻找允许我在 Windows 10 上执行此操作的程序或其他东西。我知道 buildozer 是一个东西,但它只适用于 linux。我想知道是否有与 Windows 10 相同的功能。

如果它也可以为 iOS 导出,则加分。

这是应用程序代码。我的理解是,这可以作为 .apk 导出,但我想我会把它放在这里以防万一:

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button

class MyGrid(GridLayout):
    def __init__(self,**kwargs):
        super(MyGrid, self).__init__(**kwargs)
        self.cols = 1

        #Creates another grid named self.inside (which will become the sub grid)
        self.inside = GridLayout()
        self.inside.cols = 2

        #Each one of these blocks is a new widget
        self.inside.add_widget(Label(text = "First Name: "))
        self.name = TextInput(multiline = False)
        self.inside.add_widget(self.name)

        self.inside.add_widget(Label(text = "Last Name: "))
        self.lastName = TextInput(multiline = False)
        self.inside.add_widget(self.lastName)

        self.inside.add_widget(Label(text = "Email: "))
        self.email = TextInput(multiline = False)
        self.inside.add_widget(self.email)

        self.add_widget(self.inside) #Adds sub-grid to main grid

        #This creates the button
        self.submit = Button(text="Submit", font_size = 40)
        self.submit.bind(on_press=self.pressed) #Binds that button to the function pressed. This is a method inside this class
        self.add_widget(self.submit)

    def pressed(self, instance):
        name = self.name.text #Grabs the text from self.name
        last = self.lastName.text
        email = self.email.text

        print("Name: ",name, "Last Name: ", last, "Email: ",email)

        #This clears the text by making the text box be ""
        self.name.text = ""
        self.lastName.text = ""
        self.email.text = ""

class myApp(App):

    def build(self):
        return MyGrid()


if __name__ == "__main__":

    myApp().run()

标签: pythonandroidkivy

解决方案


在此处查看 Kivy 文档


推荐阅读