查看Android SQLite数据库adb,error: more than one device and emulator

Android APP的数据库文件一般放在  data/data/{应用包名}/databases/ 文件夹下。查看数据库文件有两种方式:
  1、adb方式,可实时更新: 确保设备已经root。假如你已经通过代码新建了一个数据库叫test.db,并且新建了一张表叫 table_user。那么 打开终端(windows 运行->cmd ) 输入 adb shell,前提你已经配置过adb 的环境变量(mac 和 Windows 配置方法请自行百度),然后回车。这是时候就会进入 Linux的命令模式。然后cd 到 data/data/{你的应用包名}/databases/ 目录,ls 下,你会发现, 你所创建的test.db的数据库就出来了。OK,然后在终端输入 sqlite3 test.db 回车,进入sqlite 命令,好了,精彩的时刻就要到了,比如我们要查看test.db 下有哪些表,我们用 .tables 命令  回车,哎呀呀, table_user 就出现了。 其实在 终端输入的 sqlite3 命令之后,你就可以输入sql 语句了:比如 select * from table_user 等sql 语句。
具体操作如下:
C:\Users\D.bj>adb devices
List of devices attached
127.0.0.1:62001 device
MRB6BUVG99999999        unauthorized

C:\Users\D.bj>adb -s 127.0.0.1:62001 shell
root@android:/ # cd data/data/com.fac.ima/database/
/system/bin/sh: cd: /data/data/com.fac.ima/database: No such file or directory
2|root@android:/ # cd: data/data/com.fac.ima/database/
/system/bin/sh: cd:: not found
127|root@android:/ # cd data/data/com.fac.ima/databases/
root@android:/data/data/com.fac.ima/databases #

  2、直观模式,不可实时更新:请root你的设备,因为 data/data/ 下的文件及文件夹需要root才能可见。同样,假如你已经通过代码新建了一个数据库叫test.db,并且新建了一张表叫 table_user。OK,我们可以通过ADM(Android Device Monitor) 的 DDMS 的File explorer 直接进入 data/data/{你的应用包名}/databases/ 目录,把test.db 文件push 出来,然后可通过软件SQLite Expert Professional 查看,或者 通过 root explorer 文件管理器,进入data/data/{你的应用包名}/database/ 目录,打开test.db , 这个方法需要手机上装个能够查看数据库的软件哦。也可以通过Navicat查看数据库文件。

方法一使用adb命令时输入adb shell,报错error: more than one device and emulator

C:\Users\gaojs>adb shell
error: more than one device and emulator
C:\Users\gaojs>adb install e:\good.apk
error: more than one device and emulator

碰到这种情况,首先要查一下,是不是真的有多个设备或模拟器。
C:\Users\gaojs>adb devices
List of devices attached
emulator-5554   device
4dfadcb86b00cf05        device
发现还真是多个设备,那就需要为ADB命令指定设备的序列号了。
C:\Users\gaojs>adb -s emulator-5554 shell
也就是如上所示,给命令加上-s的参数就可以了!

如果实际上只有一个设备或模拟器,并且查到有offline的状态;
那就说明是ADB本身的BUG所导致的,就需要用如下的方法处理下了:
C:\Users\gaojs>adb kill-server
C:\Users\gaojs>taskkill /f /im adb.exe
第一条命令是杀ADB的服务,第二条命令是杀ADB的进程!
如果第一条没有用,才考虑用第二条命令再试试看的!




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值