Android-从文件管理器应用程序访问应用程序专用文件夹getFilesDir()路径

时间:2019-07-03 08:51:04

标签: android debugging storage

我需要访问我的应用程序的私有文件夹以进行调试。 我使用myActivity.getFilesDir() 来处理私有文件夹,但使用文件管理器时在文件系统中看不到它。

之前,我使用Environment.getExternalStorageDirectory(),可以在com.myDomain.app目录中看到Android/data文件夹,并且能够打开它并检查专用文件以进行调试。

现在,我该如何访问getFilesDir() 文件管理器中的文件夹?

2 个答案:

答案 0 :(得分:0)

我以前看到的在/ Android / data路径中创建的目录是通过getExternalFilesDir(null)方法调用找到的。

我看到了一个带有null参数的示例,它对我有用。

出于调试目的,我用“ getExternalFilesDir(null)”替换了代码文件中的所有“ getFilesDir()”实例。

该文件夹已正确创建并可以访问:/Android/data/com.mydomain.app

其他所有应用程序都在使用该文件夹,即使用户可以访问它。

我不知道我最终将使用该文件夹还是隐藏的文件夹(就目前看来)。

答案 1 :(得分:0)

您正在运行Android安全系统。应用程序的私有文件只能由应用程序本身访问。您只有几个选择:

  1. 向您的应用程序添加一些代码,使您可以查看,转储或复制私人文件。我通常使此类代码依赖于DEBUG构建,以免意外将其发布到生产中。
  2. 将存储移动到公共位置。我通常不喜欢这样,因为您必须在测试和生产之间更改代码,这可能会导致错误。
  3. 将文件保存到SD卡上,然后在设备外部访问它,因此您不受Android限制。
  4. 启动手机,以便您可以绕过正常限制。

如果您编写一些简单的代码将所有私有文件复制到公共位置,则可以编写生产代码,但是使用调试版本,就可以获取快照快照文件以进行调试。

希望有帮助。