无法访问Andriod模拟器上的数据目录

时间:2019-06-01 14:56:49

标签: xamarin xamarin.forms xamarin.android

我正在使用Visual Studio和xamarin,但无法访问数据目录以检索数据库以进行检查,我将数据库以以下方式保存到设备中以进行写访问。

我正在使用标准的stk 7 andriod手机,该手机没有植根并且无法植根于我的测试设备,但是在仿真过程中,我将android模拟器与Visual Studio和xamarin一起使用

public async Task<Boolean> copydb()
{
        DatabasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), DatabaseName);
        string sdCardPath = @"/sdcard/" + DatabaseName;

        if (!File.Exists(DatabasePath))
        {
            using (var assetStream = await Xamarin.Essentials.FileSystem.OpenAppPackageFileAsync(DatabaseName))
            using (var fileStream = new FileStream(DatabasePath, FileMode.Create, FileAccess.Write))
            {
                assetStream.CopyTo(fileStream);
            }
        }
}

正如您在下面看到的,我在上面告诉的路径是个人文件夹,即使在仿真器上,我也无法使用andriod监视器导航到数据目录。

我无法单击显示器右侧的data文件夹,我无法找到其他目录。

我正在使用Xamarin形式和C#     公共FuelStockDatabase()         {             Task.Run(()=> this.copydb())。Wait();

        dataTransfer = new FuelStockTakeDT();
        DatabaseName = "FuelStockApp31.db";
        DatabasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), DatabaseName);

    }

1 个答案:

答案 0 :(得分:0)

您可能必须root设备。我正在使用Total Commander adb插件扩展,并且工作正常。您必须导航到android tools文件夹的根文件夹,在其中打开一个cmd,然后输入“ adb root”,然后按Enter。

它也应该与您的方法配合使用,转到数据文件夹,它将显示数据文件夹的内容。