adb安卓常用命令 adb start-server
开启adb服务 adb kill-server 终止adb服务 adb devices 列出所有连接到adb的设备, 包括真机和模拟器 adb version 显示adb的版本号 adb install <apk file name> 将指定的app安装到唯一连接到adb的设备上,后边跟的参数为安装包的文件名
adb install -r <apk file name> 安装应用程序, 但是保留原有应用程序的所有数据
adb uninstall <package name> 将包名指定的app从目标设备上卸载,后边跟的参数为应用程序的包名 adb uninstall -k <package name> 将包名指定的app从目标设备上卸载, 但是保留配置文件和缓存
adb push <local> <remote> 将本机的文件或目录拷贝到目标设备的文件系统中
adb pull <remote> [<local>] 将目标设备中的文件或目录拷贝到本机中
adb shell 进入目标设备的Linux Shell环境, 在该环境中可以执行一些Linux命令.如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程.在Linux Shell环境中执行exit可以退出Linux Shell环境
adb shell dumpsys activity 列出目标设备上的activity栈(back stack)和任务(task)的信息, 还有其他组件的一些信息和一些关于进程的信息
adb shell dumpsys packages 列出一些系统信息和所有应用的信息。这个命令的输出很庞大,在三星nexus上的输出有12000多行。这些信息 都非常详细,包括Features,Activity Resolver Table等。以下是输出的主要信息:
adb shell pm list permissions 列出目标平台上的所有权限 adb shell pm list packages 列出目标设备上安装的所有app的包名 adb shell pm list features 列出目标设备上的所有feature 使用adb命令启动一个Activity
[plain] view plain copy
1. <span style="font-family:SimSun;font-size:14px;">adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE
2. adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY
3. # example
4. adb shell am start -n com.growingwiththeweb.example/.MainActivity
5. adb shell am start -n com.growingwiththeweb.example/com.growingwiththeweb.example.MainActivity</span>
屏幕截图, 并使用perl命令保存截图
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
解锁屏幕 adb shell input keyevent 82 注: 所有以"adb shell"开头的命令,都可以先执行adb shell命令进入目标设备的Linux Shell环境, 然后在目标设备的Linux Shell中再执行"adb shell"之后的命令.如adb shell dumpsys activity, 可以先执行adb shell, 然后再Linux Shell中再执行dumpsys activity
常用记一下
========================================= adb devices
pm list packages -f
adb uninstall com.skype.raider
1. adb devices 显示都有哪些设备连接 2. adb -s emulator-5556 shell {command} 发送指定命令
3. adb -s emulator-5556 shell 进入shell命令行2中我们是每次发送命令都需要指定是哪个设备,这无疑是非常麻烦的。我们可以先通过adb -s {emulator-name} shell 进入指定模拟器的shell。 然后我们就可以畅快输入命令了: 最后使用exit命令退出。 error: insufficient permissions for device(解决adb shell问题) 今天在linux下连接平板usb,试用adb shell时出现error: insufficient permissions for device, 而且我们输入adb devices显示: adb devices List of devices attached ???????????? device 那么我们怎么解决它呢? 首先在终端查看usb的ID,输入lsusb命令,我们可以看到我们刚插如usb的ID号,如: ~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 0461:4d80 Primax Electronics, Ltd
Bus 001 Device 004: ID 1c7a:0801 LighTuning Technology Inc. Fingerprint Reader
Bus 002 Device 003: ID 5986:0190 Acer, Inc
Bus 001 Device 019: ID 0bb4:0c02 High Tech Computer Corp. Dream / ADP1 / G1 / Magic / Tattoo (Debug)
红色的就是我们插入usb的ID号。
那么我们进入到cd /etc/udev/rules.d/下,新建一个51-android.rules文件(sudo vim 51-android.rules),在这个文件中写上:
SUBSYSTEM=="usb", ATTRS{idVendor}==" 0bb4", ATTRS{idProduct}=="0c02",MODE="0666"
保存,再为51-android.rules加上权限(sudo chmod a+x 51-android.rules).
拔掉usb重新插上就可以了,如: xxnan@xxnan-pt:~$ adb devices
List of devices attached
AB100607 device
这样就解决了不能识别USB的问题 |