2017-11-06 15:04:55 u011410770 阅读数 318

有时我们要导出Android应用程序数据库或者其他文件查看,会发现Data文件一直折叠不开.无法查看,也无法导出.
这时候我们需要将手机进行root,在此就不多说了.进行root后的手机后,连接到电脑.
1.打开cmd,输入adb shell
2.然后继续输入 su root
这是便可在Eclipse的DDMS查看到data文件夹折叠出来.如果不行请输入chmod 777 data语句修改读写权限.
重点如果要导出某个文件,仍然提示导出fiald 失败的话.那执行chmod 777 data/data/包名/具体文件,语句到具体的需要导出的文件.(例如:chmod 777 data/data/ecinc.emoa.mainzsgk/databases/emoav2.db).同理,遇到无法折叠查看的文件夹,也需要修改到具体的文件夹读写权限,才能查看.

2017-08-09 15:16:20 nml586776 阅读数 416

导出SqlLite数据库:

AndroidStudio打开DDMS:Tools--->Android---> Android device Monitor 

      


Eclipse打开DDMS: IDE右上角有个快捷图标,点击一下就可以了。



应用程序数据库存放路径: data/data/app包名/databases/ 目录下。

一般手机是没有Root过的,这里我们可以第三方软件进行Root:KingRoot,这个软件还不错。


如果点击data不能展开,说明你的手机没有Root权限访问。

        输入命令:chmod 777 data/        这样就可以打开data文件夹,依次类推。如下图所示。

        

    

选择databases包下 数据库文件,然后点击右上角“pull a file from the device” 。

        



如果导出数据库文件报错 “Failed to pull selection:Permission denied”,说明是权限问题。如下图所示:

         

解决办法:打开终端输入命令:  chmod 777 /data/data/你的应用包名/databases/xxx  如下图所示:


完美解决数据库导出问题。









2018-07-23 16:07:24 qq_37982823 阅读数 1886

1、打开Windows PowerShell命令框
在电脑桌面上打开,按住shift键+鼠标右击,会弹出
这里写图片描述
2、选择在此处打开PowerShell窗口,这样导出的数据库就是指定放在电脑桌面上了。
这里写图片描述
3、接着开始输入adb命令
这里写图片描述
4、分解各个命令
①adb shell
②run-as 应用包名
③cd databases
④ls 查看当前应用的所有数据库
⑤cat 数据库名.db>/sdcard/数据库名.db
⑥cat 数据库名.db>/sdcard/数据库名.db(在执行一遍)
⑦exit
⑧exit(执行第二遍回到桌面)
⑨adb pull /sdcard/tuyue.db 导出数据库
5、打开数据库
使用navicat.exe软件打开,直接将tuyue.db拖动到该软件中就能查看该数据库中的虽有表,如下图:
这里写图片描述
这就是完整的使用adb命令将数据库从应用中导出来的步骤。

2015-01-16 10:44:38 hj563308597 阅读数 13179

 Android开发的时候有时候会必须要导出自己APP的数据库,但是对于常用的Android手机很多都没有root权限,网站上流传的一些教程也是针对有root权限的,对于没有root权限的手机,大多是要开发者自己继续root,其实很多root工具并不彻底,用起来也很麻烦,所以干脆就绕了个弯,直接从adb里面把数据库复制到sd卡,然后导出。

一、无root权限的手机

     首先在cmd命令窗口输入adb remount

 

  执行结果是remount failed这个明显是没有root权限的手机,没有root权限的手机在Eclipse里面是无法打开data文件夹的,

文件夹打不开自然没办法直接从Eclipse里面导出,所以只能用adb shell来查看,在命令行输入adb shell

继续输入su root

执行完了之后,$符号变成#了,这时你就能查看到你自己的包下的数据库了,数据库所在路径:data/data/package/databases ,可以直接cd到此目录下,然后用ls命令查看文件信息

 

 

     这里就能看的数据库文件,xxx.db,这时候如果直接pullpull不出来的,所以只能曲线救国,将db文件复制到sdcard或者其他任何你有权限可以导出的地方,我直接复制到sdcard

在命令行执行cp命令:cp  文件名 /路径

然后直接sdcard拿出来就完了

二、有root权限的手机

直接从Eclipse可以看到data/data/包名下面的数据库

直接导出:

 

  

pull你任何想pull的地方~~~~~~~~~大功告成

 

2017-03-06 17:50:22 Love667767 阅读数 754

有时为了查看表结构,需要将Android程序中的数据库导出到SD卡来:

String DATABASE_NAME = "数据库文件名称";

String oldPath = "data/data/应用包名/databases/" + DATABASE_NAME;
String newPath = Environment.getExternalStorageDirectory() + File.separator + DATABASE_NAME;

public static void copyFile(String oldPath, String newPath) {
    try {
        int bytesum = 0;
        int byteread = 0;
        File oldfile = new File(oldPath);
        File newfile = new File(newPath);
        if (!newfile.exists()) {
            newfile.createNewFile();
        }
        if (oldfile.exists()) { // 文件存在时
            InputStream inStream = new FileInputStream(oldPath); // 读入原文件
            FileOutputStream fs = new FileOutputStream(newPath);
            byte[] buffer = new byte[1444];
            while ((byteread = inStream.read(buffer)) != -1) {
                bytesum += byteread; // 字节数 文件大小
                fs.write(buffer, 0, byteread);
            }
            inStream.close();
        }
    } catch (Exception e) {
        System.out.println("复制单个文件操作出错");
        e.printStackTrace();
    }
}
没有更多推荐了,返回首页