⑴ 濡備綍鐢╝db杩炴帴android鎵嬫満
adb杩炴帴鎵嬫満
銆愪富瑕佹柟寮忋
涓昏佹槸閫氳繃adb鍛戒护杩涜岄摼鎺ユ墜鏈烘垨鑰呮煡鐪嬫墜鏈鸿繛鎺ョ殑鐘舵併
銆愬師鐞嗐
閫氳繃鎸囦护鎴栬呮煡鐪嬭繛鎺ョ姸鎬佺‘瀹氭槸鍚﹀紑鍚鎵嬫満杩炴帴鐘舵併
銆愬疄鐜版ュ忋
閫氳繃usb杩炴帴鐢佃剳锛屾敞鎰忎竴瀹氳佹妸360绛夋墜鏈哄姪鎵嬪叧闂閫鍑猴紝杩欎簺杞浠朵細鍗犵敤adb鐨勪娇鐢ㄣ
鐒跺悗鎵撳紑cmd锛宎db
devices
鏌ョ湅鎵嬫満鏄鍚﹁繛鎺ョ數鑴戙
娉ㄦ剰鐐逛簩锛氫竴瀹氳佹墦寮鎵嬫満鐨勫紑鍙戣呮ā寮忥紝浠ヤ笅鏄杩炴帴鐨勭姸鎬侊紝鏄剧ず璁惧囩殑鍚嶇О銆
銆愭渶鍚庛
杩炴帴鏃跺欒锋敞鎰2涓娉ㄦ剰鐐癸紝濡傛灉鍙戠幇adb
琚鑾鍚嶅叾濡欑殑鍗犵敤锛屽彲浠ユ墦寮浠诲姟绠$悊鍣ㄨ繘琛屽叧闂璦db鍗冲彲銆
⑵ 浣跨敤adb鍛戒护杩炴帴WiFi杩涜屾棤绾胯皟璇
1.鐢║SB杩炴帴鎵嬫満
2.杩愯 adb devices锛屾祴璇曟槸鍚﹁繛鎺ユ垚鍔燂紝鑳藉嚭鐜拌惧囧垪琛ㄥ嵆鍙锛
3.鎵撳紑鍛戒护杈撳叆
adb tcpip 5555
缁撴灉
adb tcpip 5555;restarting in TCP mode port: 5555
4.鏌ョ湅鎵嬫満ip
adb shell ifconfig wlan0
缁撴灉
wlan0 Link encap:UNSPEC inet addr:192.168.50.141 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: fe80::7a62:56ff:fee5:76d0/64 Scope: Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3454241 errors:0 dropped:23 overruns:0 frame:0 TX packets:2524887 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:152319933 TX bytes:535345072
杩炴帴wifi
adb connect 192.168.50.141
缁撴灉
connected to 192.168.50.141:5555
鐒跺悗灏卞彲浠ヨ繘琛寃ifi璋冭瘯浜
妯℃嫙鍣ㄦ垨鑰呯數瑙嗙洅瀛愬湪宸茬煡adb璋冭瘯绔鍙g殑鎯呭喌涓嬪彲浠ョ洿鎺ラ氳繃adb connect xxx.xxx.xxx.xxx:xxxx(妯℃嫙鍣ㄦ垨鐩掑瓙鐨処P:adb璋冭瘯绔鍙o級锛
閫氳繃adb devices鐪嬪埌宸茬粡杩炴帴鐨勮惧
甯歌佹ā鎷熷櫒adb绔鍙e備笅鍥炬墍绀猴細
⑶ 2018-08-14 adb 调试 查找设备命令行
adb reboot edl 开机状态下,使用这个命令,可以重启电脑,进入edl模式,然后进行刷机
windows + r 打开 dos 窗口
输入 d : 进入 d 盘
输入 cd D: \ file\file 进入指定的文件路径 (这个路径是 adb shell-ok的文件路径)
adb devices 可以看到连接的设备。
adb logcat -v time打开日志
ctrl +c 暂停日志输出
adb logcat -c 清除日志
adb logcat -v time -b all |findstr fangfang findstr 前边是一根竖线, fangfang 是log.d 的Tag 标签。 本条命令是查询日志
adb logcat -v time -b all >test.txt 将日志打印到 text.txt文件夹
adb shell am start -n com.lenovo.csdkcustom/.MainActivity 启动某个应用的activity
adb install -r app-debug.apk 安装APP到连接的设备
rm 文件 删除一个文件
双击一个文件,选中,按滑轮键,可以把相关文件加到输入那个地方。
ctrl +c 暂停日志输出
打开需要调试的应用 ,重现 crash
在adb 工具里边找到 text.txt 文件 打开 text.txt 文件 查找 调试应用的关键字 ,找到异常的日志,然后进行修改。
工作站里边命令使搭历用
pwd
cd
ls
adb root
cd + 文件路径
adb logcat-c 清除日志
adb + shell 进入Linux命令
然后进入Linux之后 ,可以在dos下旅枝山进行一些Linux 的一些命令的操作,例如 cd sdcard 进入 sdcard , ls 查看当前目录下的文件 。 adb push U-NEXT.apk /sdcard/ 将U-NEXT安装到sdcard中。
exit 从Linux 中退出到Dos
1,打开android studio 找到Terminal 并打开
2,输入命令C 进入c 盘;
3,输入命令 cd Users\Administrator 其中Administrator 文件下有个.android 文件,输入命令 cd .android ,然后就找到了 .android
4,输入命令keytool -list -v -keystore 文件目录\自己的签名文件 比如我的:keytool -list -v -kyestore E:\签名文件\android.keystore,接着按回车,然后输入秘钥: 回车 (秘钥库口令是看不到的).
adb shell pm list packages 查看所有包名
adb shell pm path packages 查看包名所属的apk
-----------------------
获取设备和软件版本信息
adb shell getprop
MAC地址 adb shell cat /sys/class/net/wlan0/address
adb shell:
获取ota信息
getprop |grep ota
获取 [ro.build.version.incremental]
getprop |grep inc
-----------------------
查看apk包名 aapt mp badging APK文件
查拆中看包名信息: adb shell mpsys package “com.xxx.xxx”
push 新的jar包
adb push framework.jar /system/framework/
adb pull /system/priv-app/LenovoOTA/LenovoOTA.apk C:\Users\admin\Desktop
失败提升需要root
adb root
adb remount
再次执行push -> adb push framework.jar /system/framework/
然后 adb reboot
找到某个apk在系统的哪个路径下(com.lenovo.csdkplatform 为apk包名)
adb shell pm path com.lenovo.csdkplatform
启动某个应用的activity:adb shell am start -n com.lenovo.csdkcustom/.MainActivity
恢复出厂设置 adb reboot recovery
adb logcat -s XXX logcat筛选
当前activity名(全路径) adb shell mpsys window | findstr mCurrentFocus
adb reboot edl 输入进入线刷模式
fastboot 常用命令
1、adb reboot bootloader 进入fastboot 模式
2、fastboot flashing unlock 解锁unlock状态
3、fastboot flashing lock 锁定状态
4、fastboot erase data 清空data数据
5、fastboot format data 格式化data分区数据
6、fastboot getvar devices-state 得到锁的状态
7、fastboot erase boot 擦除boot分区
8、fastboot flash boot **.img 烧些img
9、fastboot reboot 重启
-------------------------
adb shell ps 查看自启信息
ro.build.version.incremental 固件信息名称
----------------------------
adb 启动界面
apps界面:adb shell am start -a android.settings.APPLICATION_SETTINGS
位置界面:adb shell am start -a android.settings.LOCATION_SOURCE_SETTINGS
安全界面:adb shell am start -a android.settings.SECURITY_SETTINGS
存储界面:adb shell am start -a android.settings.INTERNAL_STORAGE_SETTINGS
电池界面:adb shell am start -a android.intent.action.POWER_USAGE_SUMMARY
账户界面:adb shell am start -a android.settings.SYNC_SETTINGS
重置界面:adb shell am start -a android.settings.BACKUP_AND_RESET_SETTINGS
蓝牙界面:adb shell am start -a android.settings.BLUETOOTH_SETTINGS
开发者选项界面:adb shell am start -a android.settings.APPLICATION_DEVELOPMENT_SETTINGS
语言等选择界面:adb shell am start -a android.intent.action.MAIN -c android.intent.category.VOICE_LAUNCH
联系人:adb shell am start -a com.android.contacts.action.LIST_DEFAULT
----------------------------------------------------
⑷ linux下关于adb命令的一些知识
Android Debug Bridge,一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互。同时这是一个包含了以下三部分的cs模式的程序:
1) adb client
从图中,我们知道client是运行在PC端的,每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。
当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。
所有的client都是通过5037端口与adb-server进行通信的。
2)adb daemon(adbd)
从图中,我们知道daemon是作为一个后台进程运行在模拟器/真实Android设备中的。
daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这么一个后台进程,并且为其分配了两个连续的端口,比如:
Emulator 1, console: 5554
Emulator 1, adb: 5555
也正因为每个设备都分一组两个端口,也已adb连接手机的最大数量为16。
说回端口的作用,在这两个端口中,其中偶数端口是用于server 与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。
2) adb server
从图中,我们同样可以知道,server也是作为一个后台的程序运行在PC端的,他负责管理client进程以及adb daemon之间的通信。
当一个server开启的时候,他会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。
1.2 常用的adb命令
首先我们先来介绍一下,adb命令的使用格式吧:
adb [-d|-e|-s ]
adb是必须的,接下来方括号[]里面的内容不是必须的,最后才是我们需要执行的命令操作,例如 adb -s emulator-5554 install UCBrowser.apk (这是安装UC浏览器的意思)
下面先介绍下,前面几个参数的含义吧:
-d: 让唯一连接到该PC端的真实安卓设备执行命令,如果发现USB中连接有多部设备,将会报错
-e: 让唯一连接到该PC端的模拟器执行命令,如果发现开启了多个模拟器,将会报错
-s:通过设备的序列号进行指定设备执行命令
如果设备只连接有一个设备或者一个模拟器的时候,可以不用声明这三个参数,adb默认会让这部唯一连接到的设备进行命令执行。
ok,下面开始讲解常用的命令吧:
1) 查看当前PC端连接有多少设备:
adb devices
终端中的执行结果为:
从上图中,我们看到了设备有的两种状态,其实执行该命令,可能返回的状态有三种:
I. device 设备已经成功连接到了adb-server
II. offline 设备并没有连接到adb或者没有响应
III. no device 并没有设备/模拟器连接
2) 查看adb的版本
adbversion
终端中的执行结果为:
3) 给设备进行软件的安装
adb -s install
eg:
adb -s 99eb07a9 install D://Test.apk
终端中的执行结果为:
除了上面这种方法,我们还有另外一个命令:
adb -s shell pm install [options]
其中[options]中最常用的选项是-r,代表着本次安装是重新安装,会保留用户数据。
4) 卸载设备中已经安装的软件
adb -s uninstall
eg:
adb -s 99eb07a9 uninstall cn.uc.test
终端中的执行结果为:
除了上面这种方法,我们还有另外一个命令:
adb -s uninstall [options]
这里的options是-k,加上该参数表明卸载软件后依旧保留用户数据
5) 将数据从设备复制到PC中
adb -s pull
eg:
adb -s 99eb07a9 pull /sdcard/stericson-ls D://
终端的执行结果:
在D://盘中我们也可以发现stericson-ls文件
6) 讲数据从PC端复制到设备中
adb -s push
eg:
adb -s 99eb07a9 push d://stericson-ls /sdcard/
终端的执行结果:
7) 获取连接到的手机的序列号
adb get-serialno
终端的执行结果:
8)获取设备的连接状态
adb -s get-state
eg:
adb -s 99eb07a9 get-stat
终端的执行结果:
9) 等待设备连接成功
adb wait-for-device
该命令将会阻塞一直到默认连接的那部机器状态变为device,也就是连接成功。
10) adb-server 的开启与关闭
adb kill-server
adb start-server
终端的执行结果:
有时候我们开启server会失败,这是因为我们装了的手机助手,豌豆荚或者其他软件自带有自己的adb,导致端口冲突开启失败。主要关掉那些软件并且杀掉那些软件自带的adb进程重来即可。
1.2 手机执行Shell命令
众所周知,Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行
填补。
下面我们讲解下如何在手机中执行Shell命令:
1) 每次都加上adb shell来进行命令的发送与执行
adb shell
2) 先通过adb shell进入手机Shell执行状态,然后直接输入Linux命令,如图:
1.3 Activity Manager 常用命令与参数说明
一般情况下,我们最常用它来进行app的开启,并且传递一定的参数过去,比如:
adb shell am start -a android.intent.action.VIEW -n cn.uc.test/.MainActivity -d
在这里就不做太过详细和重复的说明了
1.4 Package Manager 常用命令与参数说明
1) 使一个apk处于禁用状态,相当于卸载了:
disable
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:
adb shell su disable com.UCMobile/.main.UCMobile
终端执行结果:
同时我们在手机上发现,UC浏览器的图标不见了
2) 让一个apk从禁用状态恢复过来
enable
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:
adb shell su enable com.UCMobile/.main.UCMobile
终端执行结果:
同时我们从手机上发现,UC浏览器的图标又回来啦。
3) 查看一个apk所在的路径
pm path
eg:
adb shell pm path com.UCMobile
终端执行结果:
4) 查看手机中装的所有的包
pm list packages
再次不做过多的说明
1.5其他常用的adb命令
1) 屏幕录像
例如,屏幕开始录像并且储存到/sdcard中,同时名字为demo.mp4
adb shell screenrecord /sdcard/demo.mp4
2) 关闭设备请求,开启设备
adb shell stop
adb shell start
3)设备关机以及重启
adb reboot
adb shutdown