我的Kivy应用程序部署到Android通过Buildozer不再正常启动Android,因为我添加了。jpg和。wav文件(用作背景图像和应用程序的声音)。它在我的windows电脑上运行得很好。
adb catlog给我以下警告:Unable to load image </data/user/0/org。test。galaxy/files/app/assets/images/bg1。jpg>但问题是,如果我在我的android模拟器中导航到这个文件路径,该文件确实存在。
查看我所有的代码在这个公共回购
这个错误是在执行我的星系的第10行时抛出的。kv尝试设置我的矩形的背景信息与源:root。resource_path('资产/图像/bg1。jpg')
最初我只是使用相对路径控制和离开一切Buildozer处理操作系统特定的路径控制(我在什么地方读到过,这是应该的工作)但是因为我有这个错误包括resource_path()(某人stackoverflow信贷)方法应该考虑操作系统特定的路径控制。下面是代码的样子:
def resource_path(self, relative_path):
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
print('base path:', base_path)
return os.path.join(base_path, relative_path)
我的推土机上的一些相关线路。规格(再次查看我的整个回购上面的链接):
source.include_exts = py,png,jpg,kv,atlas,wav,ttf
...
requirements = python3,kivy
我是Kivy和Buildozer的新手,显然我错过了一些关于如何访问静态文件的内容。任何帮助都将非常感谢。
###这可能是因为你的bg图像分辨率太高了。
用较小的图像再试一次。