一、ADB简介
1. 什么是adb?
adb(Android Debug Bridage)是Android sdk的一个工具;
adb 是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作。
Android 的初衷是用adb这样的一个工具来协助开发人员在开发和拷贝Android 应用的过程中更好的调试apk ,因此adb具有安装和卸载apk,拷贝推送文件,查看设备硬件信息,查看应用程序占用资源,在设备执行shell命令等功能!
2.adb的组成
客户端client:运行在你的电脑上,你可以通过adb命令来调起一个客户端。其他的安卓工具例如:ADT插件、DDMS都可以创建出一个客户端
服务器server:运行在你电脑上的后台,负责管理client和daemon进行通信。
守护进程 daemon:运行在模拟器或者Android 设备的后台
二、adb的安装
1.下载解压:adt-bundle-windows-x86_64-20140702(自行百度下载)
2. 配置环境变量到path
D:\appium\adt-bundle-windows-x86_64-20140702\sdk\platform-tools;
D:\appium\adt-bundle-windows-x86_64-20140702\sdk\tools;
验证:
三、adb命令的使用
1.adb --help 查询帮助
C:\Users\Administrator\Desktop>adb --help
Android Debug Bridge version 1.0.40
Version 4986621
Installed as D:\android-sdk-windows-appium\platform-tools\adb.exe
global options:
-a listen on all network interfaces, not just localhost
-d use USB device (error if multiple devices connected)
-e use TCP/IP device (error if multiple TCP/IP devices available)
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
-t ID use device with given transport id
-H name of adb server host 【default=localhost】
-P port of adb server 【default=5037】
-L SOCKET listen on given socket for adb server 【default=tcp:localhost:5037】
general commands:
devices 【-l】 list connected devices (-l for long output)
help show this help message
version show version num
....................................................................
2.adb connect 127.0.0.1:62001(模拟器连接:adb 连接本地设备127.0.0.1,模拟器端口62001)
3.检测当前连接的设备,如果使用adb devices进行检测,发现没有任何设备信息,我们就需要检查是否有手机/模拟器连接上
详细可参考:
4. adb shell----登录设备shell (命令行的人机界面),ll ls 命令都可以使用,相当于远程进入到了linux命令环境,
5. adb pull //从手机拉取信息放到本地电脑
C:\Users\Administrator\Desktop>adb shell 注释:进入人机界面
root@android:/ # cd /sdcard 注释:cd 进入adcard 目录
cd /sdcard
root@android:/sdcard # ll 注释:ll 展示当前目录下详细文件信息
ll
drwxrwx--- root sdcard_r 2018-11-13 20:18 tencent
-rw-rw---- root sdcard_r 217 2018-07-06 21:18 thunder.txt 注释:准备将当前文件拉取到windows桌面test文件目录
root@android:/sdcard # exit
exit 注释:退出人机界面的命令
C:\Users\Administrator\Desktop
14 KB/s (217 bytes in 0.014s) 注释:adb pull linux下文件路径 windows下路径 //当前行展示下载速度和文件大小
C:\Users\Administrator\Desktop
6.adb push 从本地推送信息到手机上去
C:\Users\Administrator\Desktop>adb push C:\Users\Administrator\Desktop\test\test_20190618142831.png /sdcard/
323 KB/s (106747 bytes in 0.322s) 注释:adb push 本地windows路径文件 linux文件保存路径,注意linux路径必须是/sdcard/否则写/sdcard则为文件并非目录
C:\Users\Administrator\Desktop
root@android:/ # cd /sdcard/
cd /sdcard/
root@android:/sdcard # ll
ll
drwxrwx--- root sdcard_r 2018-11-13 20:18 tencent
-rw-rw---- root sdcard_r 106747 2019-06-18 14:28 test_20190618142831.png 注释:从本地推送进来的文件在这里
-rw-rw---- root sdcard_r 217 2019-06-18 14:15 thunder.txt
root@android:/sdcard #
7. adb logcat 实时打印日志
adb logcat > 本地路径/文件名.txt 实时打印日志重定向到本地文件
adb logcat -v time > 本地路径/文件名.txt 实时打印日志重定向到本地文件(日志加时间)
C:\Users\Administrator\Desktop>adb logcat -v time > C:\Users\Administrator\Desktop\tsd\log02.txt
07-30 23:15:34.750 I/NOX ( 68): Starting NOX
07-30 23:15:36.630 I/Vold ( 157): Vold 2.1 (the revenge) firing up
07-30 23:15:46.770 I/SystemServer( 492): Entered the Android system server!
8.adb install xxx.apk ----windos可以直接把apk拖动到cmd窗口释放自动加载apk路径,返回success 就说明安装成功了
C:\Users\Administrator\Desktop>adb install D:\appium\apk\com.baidu.BaiduMap-1.apk
3003 KB/s (69469888 bytes in 22.589s)
pkg: /data/local/tmp/com.baidu.BaiduMap-1.apk
Success
9.查看本机当前运行程序的包名:adb shell dumpsys activity | find "mFocusedActivity"
C:\Users\Administrator\Desktop>adb shell dumpsys activity | find "mFocusedActivity" 注释:查看当前运行程序的包名
mFocusedActivity: ActivityRecord{4a924628 u0 com.baidu.BaiduMap/com.baidu.baidumaps.guide.TermsActivity t8}
C:\Users\Administrator\Desktop
package:com.baidu.BaiduMap
package:com.android.wallpapercropper
package:com.android.location.fused
adb shell pm path com.baidu.BaiduMap 注释:查看当前包所在手机中的详细位置
10.adb uninstall 包名 注释:卸载程序,示例如下
C:\Users\Administrator\Desktop>adb uninstall com.baidu.BaiduMap 注释:卸载百度地图应用程序
Success
11.扩展:卸载或者安装的时候保留数据和缓冲文件命令如下
adb install -r D:\appium\apk\com.baidu.BaiduMap-1.apk 注释:安装百度地图保留数据和缓冲文件,重新安装apk
adb uninstall -k com.baidu.BaiduMap 注释:卸载百度地图,但是保留数据和缓冲文件
12.adb connect/disconnect 通过WiFi进行远程连接手机进行调试
参考博文:
13.adb 杀死和重启命令
adb kill-server //终止adb服务
adb start-server//启动adb服务,结合adb kill-server 一起使用
14.adb shell pm list packages //列出当前设备所有的包名
C:\Users\Administrator\Desktop>adb shell pm list packages//列出所有包名
package:com.android.soundrecorder
package:com.android.defcontainer
package:com.tencent.mm
package:com.android.contacts
package:com.android.phone
package:io.appium.unlock
package:com.android.proxyhandler
package:io.appium.settings
...............................................
// -f 列出所有apk路径及包名
// -s 列出系统apk路径和包名
C:\Users\Administrator\Desktop>adb shell pm list packages -s
package:com.android.soundrecorder
package:com.android.defcontainer
package:com.android.contacts
package:com.android.phone
package:com.android.proxyhandler
....................................................
// -3 列出用户apk路径和包名
C:\Users\Administrator\Desktop>adb shell pm list packages -3
package:com.tencent.mm
package:io.appium.unlock
package:io.appium.settings
package:com.baidu.BaiduMap
package:com.ss.android.article.news
//代码参考: https://weibo.com/u/7930566966
15.启动app
adb shell am start -n 包名/入口列名
C:\Users\Administrator\Desktop>adb shell am start -n com.baidu.BaiduMap/com.baid
u.baidumaps.WelcomeScreen
Starting: Intent { cmp=com.baidu.BaiduMap/com.baidu.baidumaps.WelcomeScreen }
adb shell pm clear 包名
C:\Users\Administrator\Desktop>adb shell pm clear com.baidu.BaiduMap
Success
adb shell input tap x轴坐标 y轴坐标
//需要打开
1.打开设置/关于手机或者平板电脑
2.连续点击五下版本号/提示开发者选项已经打开
3.在输入模块打开指针位置选项
例如根据坐标点击启动百度地图
16.aapt的使用
D:\android-sdk-windows-appium\build-tools\28.0.3>aapt dump badging D:\appium\com
.baidu.BaiduMap-1.apk | findstr package
package: name='com.baidu.BaiduMap' versionCode='928' versionName='10.17.3' compi
leSdkVersion='29' compileSdkVersionCodename='10'
D:\android-sdk-windows-appium\build-tools\28.0.3>aapt dump badging D:\appium\com
.baidu.BaiduMap-1.apk | findstr launchable-activity
launchable-activity: name='com.baidu.baidumaps.WelcomeScreen' label='鐧惧害鍦板
浘' icon=''
17.查看安装包信息命令 adb shell dumpsys package 包名
C:\Users\Administrator\Desktop>adb shell dumpsys package com.android.browser
...............................
Packages:
Package 【com.android.browser】 (2e051e24):
userId=10061 gids=【3003, 1028, 1015, 1023, 1007】
pkg=Package{3fe56d36 com.android.browser}
codePath=/data/app/com.android.browser-1
resourcePath=/data/app/com.android.browser-1
legacyNativeLibraryDir=/data/app/com.android.browser-1/lib
primaryCpuAbi=armeabi-v7a
secondaryCpuAbi=null
versionCode=49202 targetSdk=25
versionName=4.9.3
splits=【base】
applicationInfo=ApplicationInfo{121cd625 com.android.browser}
flags=【 SYSTEM HAS_CODE ALLOW_CLEAR_USER_DATA UPDATED_SYSTEM_APP ALLOW_BACKUP KILL_AFTER_RESTORE LARGE_HEAP 】
..................................
未完待续。。。
总结:学习后小结,分享给需要的人,不足之处,后续补充修正!