Android 模拟器 - 访问 LocalApplicationData 中的文件
Androidemulator - Access files in LocalApplicationData
我正在使用 xamarin 表单开发 Android 应用程序。我可以通过
保存文件
var fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), $"appsettiings.txt");
var data = JsonConvert.SerializeObject(this);
File.WriteAllText(fileName, data);
当我调试时,我可以看到文件应该存储在
/data/user/0/<applicationame>/files/.local/share/appsettiings.txt
我想看看文件是否真的保存了,内容是什么。我打开了 Android 设备监视器,但数据文件夹是 'empty'。从其他一些 SO 案例中,我认为我应该通过执行
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb root
现在 data 文件夹包含数据,我可以向下钻取到 files 文件夹,但那个文件夹似乎是空的。
当我再次 运行 应用程序并检查文件是否存在时,它确实存在。
关于如何从任何工具访问该文件的任何进一步建议。我想再次删除该文件和 运行 应用程序。
您可以使用adb pull
将文件复制到本地机器并查看它的内容,如下所示:
adb root
adb pull /data/user/0/<applicationame>/files/.local/share/appsettiings.txt [LOCAL_FOLDER]
然后你可以使用 adb shell
然后 rm -f
删除它,像这样:
adb shell
su
rm -f /data/user/0/<applicationame>/files/.local/share/appsettiings.txt
由于你请求的文件在/data文件夹下,需要相应的root权限才能获取,所以你需要在adb pull
命令前做adb root
,你在删除文件之前需要做 su
。
如果我没记错的话,如果你用你的方法保存一个文件,它应该存在,因为你已经用 .Exists 方法证明了。
我不太确定,你只是想从文件中读取内容吗?或者您想从应用程序外部访问它?
如果您只想阅读内容,可以使用
访问它
string content= File.ReadAllText(your file path);
并在下一行设置断点 (F9)。
我正在使用 xamarin 表单开发 Android 应用程序。我可以通过
保存文件 var fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), $"appsettiings.txt");
var data = JsonConvert.SerializeObject(this);
File.WriteAllText(fileName, data);
当我调试时,我可以看到文件应该存储在
/data/user/0/<applicationame>/files/.local/share/appsettiings.txt
我想看看文件是否真的保存了,内容是什么。我打开了 Android 设备监视器,但数据文件夹是 'empty'。从其他一些 SO 案例中,我认为我应该通过执行
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb root
现在 data 文件夹包含数据,我可以向下钻取到 files 文件夹,但那个文件夹似乎是空的。
当我再次 运行 应用程序并检查文件是否存在时,它确实存在。
关于如何从任何工具访问该文件的任何进一步建议。我想再次删除该文件和 运行 应用程序。
您可以使用adb pull
将文件复制到本地机器并查看它的内容,如下所示:
adb root
adb pull /data/user/0/<applicationame>/files/.local/share/appsettiings.txt [LOCAL_FOLDER]
然后你可以使用 adb shell
然后 rm -f
删除它,像这样:
adb shell
su
rm -f /data/user/0/<applicationame>/files/.local/share/appsettiings.txt
由于你请求的文件在/data文件夹下,需要相应的root权限才能获取,所以你需要在adb pull
命令前做adb root
,你在删除文件之前需要做 su
。
如果我没记错的话,如果你用你的方法保存一个文件,它应该存在,因为你已经用 .Exists 方法证明了。
我不太确定,你只是想从文件中读取内容吗?或者您想从应用程序外部访问它?
如果您只想阅读内容,可以使用
访问它string content= File.ReadAllText(your file path);
并在下一行设置断点 (F9)。