Android 的 Kivy 应用程序无法加载图像

Kivy App for Android Unable to Load Image

我通过 Buildozer 部署到 Android 的 Kivy 应用程序无法在 Android 上正常启动,因为我添加了 .jpg 和 .wav 文件(用作背景图像和应用程序声音)。它在我的 Window 机器上运行得很好。

adb catlog 给我以下警告:Unable to load image </data/user/0/org.test.galaxy/files/app/assets/images/bg1.jpg>。但更重要的是,如果我在 android 模拟器中导航到此文件路径,则该文件确实存在。

View all my code in this public repo

执行我的 galaxy.kv 的第 10 行时抛出此错误,该行试图使用 source: root.resource_path('assets/images/bg1.jpg')

设置我的 Rectangle 的背景信息

最初,我只是使用相对路径并将其全部留给 Buildozer 来处理 OS 特定路径(我在某个地方读到这应该有效),但是因为我有这个错误,我已经包含了 resource_path() (归功于 Whosebug 上的某个人)方法,该方法应该考虑 OS 特定路径。该代码如下所示:

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)

我的 buildozer.spec 中的一些相关行(同样,使用上面的 link 查看我的整个 repo):

source.include_exts = py,png,jpg,kv,atlas,wav,ttf
...
requirements = python3,kivy

我是 Kivy 和 Buildozer 的新手,显然我错过了一些关于如何访问静态文件的内容。任何帮助将不胜感激。

可能是你的背景图分辨率太高了。 请使用较小的图片重试。