之前用python做了个命令行的爬虫,在安卓上运行时还得打开termux,用上虚拟键盘,很不方便,于是一直想改为Android版本的。近期刚发现Kivy/KivyMD可以基于Python进行跨平台开发,国庆期间进行了尝试。在此记录一些踩坑经历,供有相同需求的同学参考。
一、解决中文乱码问题
Kivy和KivyMD原生不支持中文,采用的默认字体是英文字体,直接运行起来就会显示方框。
Kivy中可以通过设置LabelBase修改字体,但是每一个控件都要在代码中增加font_style的定义,非常不方便。而KivyMD的控件就没有提供定义LabelBase改字体的功能。
而且,即使在本机开发环境中修改了字体设置,在打包生成apk文件安装后,在手机上运行时仍然是乱码。
下面是使用buildozer打包时,彻底解决中文乱码问题的方法。