android开发必备调试工具, 记录下常用的一些adb命令

adb工具可以单独下载也可以下载android SDK在platform-tools文件夹中可以找到

jshh@jeson-ThinkPad-T470:~/Android/Sdk/platform-tools$ lsadb          e2fsdroid  hprof-conv  mke2fs       package.xml        sqlite3api          etc1tool   lib64       mke2fs.conf  sload_f2fs         systracedmtracedump  fastboot   make_f2fs   NOTICE.txt   source.properties

配置环境变量
一般我们使用为了方便在任何目录下都能方便的直接使用adb工具,都会采用配置环境变量的方式来处理,配置环境变量有两个位置可以直接配置:

  1. ~/.bashrc
    此脚本只针对登录用户生效
  2. /etc/profile
    此脚本全局,针对任何用户,我是配置在这个文件的,末尾添加如下配置
#config adbexport PATH="/home/jshh/Android/Sdk/platform-tools:$PATH"

ps : /erc/profile文件修改需要root权限,可以sudo vi /etc/profile 去修改,这里不多说了.

adb start-server
启动本地adb服务,一般情况下如果直接 adb connect ip, 会自动start

adb kill-server
关闭本地adb服务, 这种情况一般用于adb的配置被改变或者adb出现异常时要重启adb,可以先关闭之后,在重新 adb start-server 来重启本地adb服务

adb disable-verity
关闭在调试环境下的dm-verity检查,当adb remount无法正常执行时,可以尝试使用

adb enable-verity
启用在调试环境下的dm-verity检查

adb connect 192.168.1.123
连接指定ip的android设备

adb devices
查看当前adb连接的设备列表

adb root
获取android设备root权限

adb remount
重定义分区挂载,一般此命令ok之后,可以读写如 /system 原本只读权限的分区内容

adb mount -o remount rw /system
相比于前一条,这条指令比较明确清晰和针对性,只针对/system

adb shell
进入adb连接的android设备shell环境,进入之后就相当于远程登录了android设备,可以执行android所支持的各种shell环境的指令如:

  • pm install xx.apk //pm工具安装apk
  • pm uninstall packageName //pm工具卸载apk
  • pm clear packageName //pm工具清理apk缓存
  • am start -n com.ecarx.radio.test/.TestActivity //am 工具启动apk并指定activity
  • am force-stop com.ecarx.radio.test //am工具强制关闭指定apk进程
  • am broadcast -a “ecarx.intent.action.ECARX_KEY_SRC_EVENT” //am 工具发送指定action广播
  • input keyevent 88 // input 工具模拟发送按键事件
  • reboot //系统重启
    等等所有指令

adb install xx.apk
adb安装本地apk

adb uninstall packageName
adb 根据报名卸载apk

adb push path/file path/file
将本地文件推至android设备文件系统中, 第一个path是本地文件路径文件 第二个path为目标路径
例如:将本地当前目录xx.apk 推至android设备的/system/app/ 目录下

adb push xx.apk /system/app/

adb pull path/file path/file
将目标android设备指定文件拷贝至本地系统, 第一个path为目标android设备文件路径,第二个path为本地文件路径
例如: android设备 /system/app/ 目录下xx.apk 拷贝到本地当前目录

adb push /system/app/xx.apk .

adb 一些异常问题集合

  1. adb devices 一直处理offline
    有一种说法是adb版本较低,这个我暂时没有碰到,如果有朋友遇到可以尝试下载更换一个高版本adb工具

  2. offline 和 unauthorized 状态之中跳变,长时间为offline
    删除.android/目录下 adbkey adbkey.pub,之后android设备一般会提示添加adbkey授权,点击确定即可,之后adb devices正常.

cd ~/.android/rm adbkey*
  1. adb 无法connect,或者端口被占用,反正就是没法connect(确定网络正常,android设备服务正常),那就尝试以下重启服务
adb disconnectadb kill-serveradb start-serveradb connect 192.168.xx.xxadb devices
  1. usb连接 adb shell 出现 insufficient permissions for device
adb shellerror: insufficient permissions for device

解决办法:

1. 清空 /etc/udev/rules.d/51-android.rules2. 添加一行:SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"3. 不需要重启linux设备,直接拔插usb调试口就行 

更多相关文章

  1. Android之文件搜索工具类
  2. android XML文件常用字符转义
  3. Android设备各种使用尺寸整理
  4. C#:基于WMI查询USB设备信息 及 Android设备厂商VID列表
  5. 布局文件绘制圆角矩形 背景图片
  6. android判断设备是否有相机的实例代码
  7. Android获取手机经纬度(GPS、NetWork)封装工具类
  8. android 读取raw下的视频文件

随机推荐

  1. Android中让Service被关闭后再重新启动
  2. Android(安卓)Sdcard 可用空间大小
  3. 如何判断Edittext是否为空
  4. android 检查GPS是否开启,GPS设置界面
  5. android 手机获取当前连接的wifi配置信息
  6. android 使用SQLiteOpenHelper类批量执行
  7. android判断网络连接状态
  8. android cmd aapt
  9. 设置android默认属性
  10. android MTK 禁止第一次开机向导