第一次使用使用kivy编写Android软件,在虚拟机和真机上都可以运行,可以访问云数据库
但是打包成apk后无法软件会闪退,使用排除法一点一点发现错误,只要写了import MySQLdb
就会导致安装apk后闪退,没有写这句就没有问题
下面是简单的测试例子,只要删除掉import MySQLdb就可以在手机上正常打开
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
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.uix.recyclegridlayout import RecycleGridLayout
from kivy.uix.floatlayout import FloatLayout
import MySQLdb
kivy.require("1.10.1")
Builder.load_string('''
<CourierIndexPage>
FloatLayout:
color: 1, 0, 0, 1
Label:
text: 'Sunny Courier'
size_hint: None, None
size:150, 50
pos:10, 500
Button:
text: 'Select All'
size_hint: None, None
size: 150, 50
pos:160, 500
Label:
text: 'Input OrderID'
size_hint: None, None
size: 150, 50
pos: 10, 300
TextInput:
id:order_id_input
text: '2020042001'
font_name:'DroidSansFallback'
size_hint: None, None
size: 200, 50
pos: 160, 300
Button:
text: 'Select'
size_hint: None, None
size: 100, 50
pos: 10, 100
Label:
id: adr
text: 'RealtimeInformation'
size_hint: None, None
size: 200, 50
pos: 120, 100
Button:
text: 'Quit'
size_hint: None, None
size: 100, 50
pos: 160, 10
''')
class CourierIndexPage(FloatLayout):
pass
class Activity(App):
def build(self):
self.screen_manager = ScreenManager()
self.courier_index_page = CourierIndexPage()
screen = Screen(name="CourierIndex")
screen.add_widget(self.courier_index_page)
self.screen_manager.add_widget(screen)
return self.screen_manager
if __name__ == "__main__":
sto = Activity()
sto.run()