【发布时间】:2018-09-24 01:55:36
【问题描述】:
我已经通过这个路径/data/data/package-name/files/app/filefolder/file.txt在android中添加了一些txt文件
txt文件与main.py在同一目录下,如/same_directory_with_main.py/filefolder/file.txt
基于此经验,我正在尝试在我的应用程序中添加一些自定义字体。 我创建目录的方式与添加 txt 文件的方式完全相同。
main.py的一部分
from kivy.config import Config
Config.set('kivy', 'default_font', [
'/data/data/org.test.tubuc/files/app/font/NanumSquareR.ttfs',
'/data/data/org.test.tubuc/files/app/font/NanumSquareL.ttfs',
])
但是 logcat 说找不到字体路径。 这里是日志。
09-24 10:47:57.506 18392 18581 I python : ('Android kivy bootstrap done. __name__ is', '__main__')
09-24 10:47:57.540 18392 18581 I python : ['/data/user/0/org.test.tubuc/files/app/lib/python2.7/site-packages', '/data/user/0/org.test.tubuc/files/app/lib/site-python']
09-24 10:47:57.540 18392 18581 I python : AND: Ran string
09-24 10:47:57.540 18392 18581 I python : Run user program, change dir and execute entrypoint
09-24 10:47:57.650 18392 18581 I python : [WARNING] [Config ] Older configuration version detected (0 instead of 19)
09-24 10:47:57.650 18392 18581 I python : [WARNING] [Config ] Upgrading configuration in progress.
09-24 10:47:57.659 18392 18581 I python : [INFO ] [Logger ] Record log in /data/user/0/org.test.tubuc/files/app/.kivy/logs/kivy_18-09-24_0.txt
09-24 10:47:57.659 18392 18581 I python : [INFO ] [Kivy ] v1.10.0
09-24 10:47:57.660 18392 18581 I python : [INFO ] [Python ] v2.7.2 (default, Aug 17 2018, 08:01:29)
09-24 10:47:57.660 18392 18581 I python : [GCC 4.9.x 20150123 (prerelease)]
09-24 10:47:57.691 18392 18581 I python : [INFO ] [Factory ] 194 symbols loaded
09-24 10:47:57.994 18392 18581 I python : [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
09-24 10:47:58.022 18392 18581 I python : [INFO ] [Text ] Provider: sdl2
09-24 10:47:58.023 18392 18581 I python : Traceback (most recent call last):
09-24 10:47:58.023 18392 18581 I python : File "/root/Desktop/hi/.buildozer/android/app/main.py", line 14, in <module>
09-24 10:47:58.024 18392 18581 I python : File "/root/Desktop/hi/.buildozer/android/platform/build/dists/tubuc/private/lib/python2.7/site-packages/kivy/uix/button.py", line 40, in <module>
09-24 10:47:58.024 18392 18581 I python : File "/root/Desktop/hi/.buildozer/android/platform/build/dists/tubuc/private/lib/python2.7/site-packages/kivy/uix/label.py", line 246, in <module>
09-24 10:47:58.024 18392 18581 I python : File "/root/Desktop/hi/.buildozer/android/platform/build/dists/tubuc/private/lib/python2.7/site-packages/kivy/core/text/__init__.py", line 797, in <module>
09-24 10:47:58.025 18392 18581 I python : File "/root/Desktop/hi/.buildozer/android/platform/build/dists/tubuc/private/lib/python2.7/site-packages/kivy/core/text/__init__.py", line 248, in register
09-24 10:47:58.025 18392 18581 I python : IOError: File /data/data/org.test.tubuc/files/app/font/NanumSquareL.ttfs not found
09-24 10:47:58.042 18392 18581 I python : Python for android ended.
我怎样才能给安卓添加字体?谢谢。
【问题讨论】:
-
尝试使用相对路径而不是绝对路径,我不确定您使用的绝对路径是否能够可靠地工作。此外,您可以使用 os 模块中的其他功能探索文件是否在您期望的位置。
-
如果和main.py在同一个文件夹,文件名就够了,不用全名,否则,是的,使用相对路径,或者使用kivy。 resource.add_folder 将相对文件夹添加到查找中。另外,我对扩展名很好奇,你的意思是“.ttf”而不是“.ttfs”吗?
-
感谢大家的建议。我会尝试使用相对路径。 @Tshirtman,是的,扩展名为“.ttf”。首先,我将扩展名写为“.ttf”,但 IOError 表示“ttfs”,因此假设扩展名错误,我将其更改为“.ttfs”。但因此,没有区别。