我在Android Studio的Sqlite中使用openOrCreateDatabase保存了一个数据库。我知道它保存在Android设备的根文件夹中(特别是数据/数据),但我看不到原始数据库文件。
我在Studio中尝试了adb shell命令和Android设备管理器,但我无法看到它。
有没有办法更改数据库的路径或访问数据/数据中的数据库而无需为我的手机生根?
答案 0 :(得分:1)
您无法在没有root设备的情况下访问数据文件夹。
但您可以将数据库从数据文件夹复制到SD卡,例如下载文件夹
File backupDB = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "Database.db");
File currentDB = context.getDatabasePath(DATABASE_NAME);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
您还需要获得许可
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 1 :(得分:0)
要查看应用数据文件夹中的内容,您可以使用run
命令as
,如下所示
adb shell
$ run-as package.name
现在您将进入具有所有访问权限的指定应用程序的数据文件夹内。