Android设备adb调试

引言

日常开发经常要对Android设备进行调试,adb是Android自带的调试工具供我们使用。

参考系统及开发软件:

系统 win10
开发软件 androidstudio

1.adb的环境配置

在android开发工具中会附带adb,为了能方便全局使用adb的命令,我们对adb进行全局的环境变量配置。

1.1 复制adb所在文件路径

Android设备adb调试

1.2 配置环境变量

1)配置位置:【此电脑】右键 【属性】->【高级系统设置】->【高级】>【环境变量】

Android设备adb调试

Android设备adb调试

2)新建系统变量

Android设备adb调试

3)将【系统变量】添加到【用户变量】Path中

Android设备adb调试

4)验证环境配置是否正确

快捷键【Win+R】,在运行中输入cmd,输入命令  adb version ,返回以下结果表示配置成功。

Android设备adb调试

Android设备adb调试


2.开启设备USB调试及USB连接类型

设备版本号 Android.Loliop 5.1

1)启用【开发者模式】

打开【设置】,在设置列表中找到【关于设备】选项,点击【版本号】多次,系统会提示还要按几次进入开发者模式。

然后返回设置列表,会看到新增加的【开发者选项】。

Android设备adb调试

Android设备adb调试

Android设备adb调试

2)开启USB调试

  点击【开发者选项】,打开USB调试,系统提示是否允许USB调试,点击确定按钮. 在系统下拉菜单也可以看到USB已连接的提示。

Android设备adb调试

Android设备adb调试

3)选择USB连接类型(用于对设备中文件的操作)

连接USB线,返回系统桌面,下来菜单上有显示【已作为媒体设备连接】,如果不是这个选项,则点击该条目,设置成媒体设备(MTP)。

Android设备adb调试

Android设备adb调试

3.验证设备与PC端是否连接正确

双击【此电脑】,在【设备与驱动】栏查看是否有该设备,在cmd中输入adb devices 查看设备号,如果显示设备号则表示设备已连接

Android设备adb调试

Android设备adb调试

4.root Android设备 及查看android数据库文件(如sqlite的 .db文件)

1)root Android 设备

未root的android设备对于敏感数据有安全保护无法访问其受保护的文件夹,如果我们需要查看数据库文件则必须要对设备进行root。

这里使用Kinggo Root,使用window版root时会在android设备自动安装superUser.apk来对设备进行root管理。

root软件 Kingo ROOT
下载地址 https://www.kingoapp.com/


Android设备adb调试

Android设备adb调试

2)查看android数据库文件

root设备成功后,在cmd中依次输入以下指令可看到data/data下的文件 

参考博客

adb shell su -c "chmod 777 /data"

adb shell su -c "chmod 777 /data/data"

adb shell su -c "chmod 777 /data/data/com.xxx.bookstore(自己的包名)"

adb shell su -c "chmod 777 /data/data/com.xxx.bookstore/databases/"

adb shell su -c "chmod 777 /data/data/com.xxx.bookstore/databases/*"

5.adb占用

参考连接 https://jingyan.baidu.com/article/e75aca857b8560142edac6a0.html

如果在使用命令时出现以下情况很可能是adb端口被占用,造成的原因可能是开发软件如android studio,第三方手机助手如鲁大师,360等也在使用adb。

error:device not found或者adb server is out of date.  killing...ADB server didn't ACK* failed to start daemon *error: unknown host service
解决办法:
adb shell su -c "chmod 777 /data"

adb shell su -c "chmod 777 /data/data"

adb shell su -c "chmod 777 /data/data/com.scg.bookstore"

adb shell su -c "chmod 777 /data/data/com.scg.bookstore/databases/"

adb shell su -c "chmod 777 /data/data/com.scg.bookstore/databases/*"

1)关闭所有占用端口的程序,重启adb

在cmd中使用   

1.netstat -ano | findstr "5037"  找到占用端口的程序的pid 号

2. tasklist | findstr "pid号"  通过pid号找到具体的程序

3.taskkill /f /pid号   把该pid号的程序杀死  或者直接在【任务管理器】中找到pid号对应的程序或者服务,然后【结束任务】。

4.adb devices  查看设备号,如果有则表示问题解决。