【发布时间】:2017-11-25 14:29:43
【问题描述】:
我有一个需要从 json 文件读取数据的 Xamarin.Forms 应用程序。我将文件放入 Android assets 文件夹并选择了构建操作 AndroidAssets
然后我尝试使用 Assets.Open(filename) 在 MainActivity 中加载文件,然后我得到一个 FileNotFoundException。我删除了 Android 和 PCL bin 文件夹并尝试再次构建项目,但得到了相同的结果。然后我在 WinRar 中打开 .apk 文件,当我转到 assets 文件夹时,我添加到项目中的文件不在那里。
有人知道这里有什么问题吗?
【问题讨论】:
-
这很奇怪,它应该可以工作。请注意,当您使用
Assets.Open()方法时,您需要使用全名,例如:Assets.Open("test.txt"),您可以阅读此document。 -
我确实使用了 Assets.Open("test.txt") 但我仍然收到文件未找到错误。最奇怪的是,即使我将文件的构建操作设置为 AndroidAsset,它也不会在成功构建应用程序后出现在 .apk 文件中。所以我明白为什么它找不到文件,但我不明白的是为什么文件在构建后不在它应该在的位置。
-
你介意分享一个基本的演示来重现这个问题吗?以确保我们正在验证您正在使用的完全相同的东西。
-
我尝试从 Assets 文件夹中删除除 test.txt 之外的所有其他文件,并多次重建项目,现在我收到一条错误消息:文件“obj\Debug\android\bin\packaged_resources”不存在。除了删除 Assets 文件夹中的一些文件外,我没有对代码或任何其他文件进行任何更改。那是怎么回事?
-
请将你的
finderro-line-no-bg.png文件重命名为finderro_line_no_bg.png,你不能在android资源文件中使用“-”字符,然后它可以正常工作,我可以看到“test.txt”文件在.apk文件中。
标签: android xamarin xamarin.forms xamarin.android