无法找到资产中的资源文件

时间:2016-08-29 06:34:13

标签: android

我正在开发一个基于地图的应用程序,并使用名为 AMap.jar 的库来初始化地图。该库包含一个名为ap.data的文件,该文件将在运行时放置在assets文件夹中。大多数情况下,我的应用进展顺利。但有时候,ap.data无法找到并导致 FileNotFoundException

另外,一旦情况出现,即使我通过Android Studio重新安装应用程序也无法修复。

我该如何解决这个问题?

我怀疑这与Android Studio的即时运行有关。

有没有人遇到类似情况?

2 个答案:

答案 0 :(得分:0)

要从资产访问该文件:

 AssetManager assetManager = getResources().getAssets();
    InputStream inputStream = null;

        try {
            inputStream = assetManager.open("foo.txt");
                if ( inputStream != null)
                    Log.d(TAG, "It worked!");
            } catch (IOException e) {
                e.printStackTrace();
            }

答案 1 :(得分:0)

首先让你确定的代码没有错误。

第二,观察者的行为就像你在应用程序成功运行时说的那样,应该继续运行,直到下一次构建或者你的应用程序退出,如果不是那么这意味着代码中存在问题。

如果你的应用程序继续运行没有任何问题util restart或直到下一次构建它意味着你正在遭受即时运行的bug,它们就像

  • 内部运行TAB旁边的anroid-monitor,有时显示,no changes to deploy表示代码中的更改尚未添加到您的应用中
  • 有时会运行新应用,当您重新启动应用时,它会显示旧应用。

解决方案:

更新到最新的Build,因为在旧版本中这种情况往往更多。

在项目设置下禁用即时运行。

尝试使用最新的工作室版本,它完全改进了即时运行。