Android将SQLite数据库导出到计算机/ Mac

Fun*_*Man 2 java database sqlite android

我的Android设备上有一个SQLite数据库(我自己的应用程序).现在我想在我的电脑上看到SQLite数据库.

有没有任何解决方案(简单的方法)来获得没有root权限的数据库,并且我的计算机上没有SD卡?

我试图谷歌它,但我找不到任何解决这个问题....

编辑:我使用的不是模拟器(我的设备需要相机).

小智 6

如果手机没有root,则无法直接访问您的数据库,但您可以将其复制到下载文件夹,然后复制到PC

public static void copyAppDbToDownloadFolder(Activity ctx) throws IOException {
    File backupDB = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
            "databse_name.db"); // for example "my_data_backup.db"
    File currentDB = getApplicationContext().getDatabasePath("databasename.db");
    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();
    }
}
Run Code Online (Sandbox Code Playgroud)


cra*_*ide 4

此方法适用于我的未 root 设备。

# check if your device connected
adb devices

adb shell

run-as  your.package.name

chmod 777 databases/your.database.name

exit

cp /data/data/your.package.name/your.database.name /mnt/sdcard/

exit

adb pull /mnt/sdcard/your.database.name
Run Code Online (Sandbox Code Playgroud)