当前位置: 首页 > 知识库问答 >
问题:

无法从设备查看或拉取SQLite数据库[重复]

姬朗
2023-03-14

我无法在设备上查看或提取应用程序创建的SQLite数据库文件

下面是我如何尝试使用ADB拉它

E:\

正如您所看到的,有一个权限被拒绝的错误。


共有2个答案

班思源
2023-03-14

我就是这样做的(在ubuntu机器上,没有根):

>

  • 在Android/Sdk/Platform-ols/中查找adb文件
  • 在此目录中打开命令行
  • 运行以下代码,将Sqlite数据库从应用程序拖到SD卡:

    ./adb-d shell"run-ascom.example.name.myappnamecp /data/data/com.example.name.myappname /databases/database.db /sdcard/database.db"

    *确保将“database.db”和“com.example.name.myappname”替换为数据库名和应用程序名(可在清单中找到)。

    运行以下代码,将Sqlite数据从SD卡拉至桌面:

    ./adb-d pull/SD卡/数据库。db~/桌面/html" target="_blank">数据库。分贝

  • 孔和畅
    2023-03-14

    如果您的设备没有根目录,您可以使用以下代码将应用程序数据库导出到SD卡上:

    try {
       File dstDb = new File(dstPathOnSdcard, dstFileName);
       FileOutputStream output = new FileOutputStream(dstDb);
    
       File srcDb = new File(Environment.getDataDirectory(), "//data//com.mynamespace.myapp//databases//mydatabasename.db");
       FileInputStream input = new FileInputStream(srcDb);
    
       FileChannel src = input.getChannel();
       WritableByteChannel dst = Channels.newChannel(output);
    
       src.transferTo(0, src.size(), dst);
    
       src.close();
       input.close();
       dst.close();
       output.close();
    } 
    catch (Exception e) {
       // doSomething
    }
    
     类似资料:
    • 如何从Android设备像模拟器拉sqlite数据库?

    • 但在设备上运行我的应用程序时,此选项不可用。 我查过相关问题: null 而这些问题是2011年和2010年的。是否有任何插件我可以使用或其他外部工具?

    • 我需要帮助创建一个android应用程序,因为我对android完全陌生。我想开发一个应用程序,能够使用该应用程序在我的android手机上执行与数据库相关的操作。它应该允许用户查看我的设备中有多少数据库。 当我选择数据库,表应该显示在我的设备上,并允许用户执行插入,删除,更新操作。也允许用户创建新的database.anybody有帮助我吗?谢谢。

    • 我在SQLite数据库中有一组数据。我需要查看设备上的数据库。我该怎么做? 我已经在ddms模式下进行了检查。文件资源管理器中的数据为空。

    • 我想从数据库中检索名称。但我总是收到错误: 数据库Java语言 它不断返回错误 android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为1,字符串名称=helper.getProductNameT(cur); 有人知道我的编码哪里出错了吗?

    • 问题内容: 我尝试从资产目录复制SQLite数据库,以便以后访问。但是我做不到! DatabaseHelper很简单: 尝试了一切!我尝试玩扩展!但是我仍然收到一个错误:复制数据库时出错: 我检查了模拟器,我的文件在那里,所以我应该可以写它!请任何帮助!真让我发疯! UPD 我试图将其放在SD卡上,并且可以正常工作。但仍然无法理解为什么我无法将其写入应用程序数据文件夹。 问题答案: 我使用此助手,