Corona SDK: system.pathForFile 返回 nil。

这段代码在模拟器中可以运行,但在我的安卓设备上不行:

local path = system.pathForFile("chinese_rules.db")
print("PATH:: " .. tostring( path ) )

当我在我的Galaxy S4上运行这段代码时,路径返回nil。

我第一个想法是有些错别字(大小写敏感),但我没有发现任何错别字:

http://i59.tinypic.com/wlpu14.png

我找不到任何原因它为什么会接收到nil。这会导致问题,我不能加载我的数据库。

我也尝试了相同的结果:

local path = system.pathForFile("chinese_rules.db", system.ResourceDirectory)

我以前能够像这样加载路径并加载数据库。

Corona Build: 2013.2100 (2013.12.7)

进一步阅读文档,我没有看到.db是受限制的文件类型:

Corona使用适当的API允许直接加载图像和音频文件,但是它使用文件I / O API时,对Android上的资源文件有限制。具体而言,以下类型无法从资源目录中读取: .html,.htm。,.3gp,.m4v,.mp4,.png,.jpg和.ttf。

http://docs.coronalabs.com/api/library/system/pathForFile.html

点赞
用户2524586
用户2524586

我找到了问题的原因: 我们两个人在这个项目上工作,他配置了使用扩展文件,因此创建了两个文件(主APK文件和OBB扩展文件),我没有注意到,只加载了主APK文件,我猜测数据库在OBB文件中。在设置不使用扩展文件后,应用程序可以运行。

usesExpansionFile = false
2014-05-26 00:15:02