导航:首页 > 操作系统 > android代码adb

android代码adb

发布时间:2023-03-11 05:57:17

android 常用adb命令

常用adb 命令

配置mat 环境,因为从 android profile直接获取到的hprof文件格式与mat的格式不兼容,所以需要使用工具转换一下

第 1 行:进程信息

总共(total):754个
运行中(running)状态:1个
休眠(sleeping)状态:753个
停止(stopped)状态:0个
僵尸(zombie)状态:0个

第 2 行:内存信息

5.5G total:物理内存总量
5.4G used:使用中的内存量
165M free:空闲内存量
76M buffers: 缓存的内存量

第 3 行:Swap分区信息

2.5G total:交换区总量
789M used:使用的交换区大小
1.7G free:空闲交换区大小
2.4G cached:缓冲的交换区大小

内存监控时,可以监控swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是内存不够用了。

第 4 行:CPU信息

800%cpu:8核cpu
100%user:用户进程使用CPU占比
3%nice:优先值为负的进程占比
54%sys:内核进程使用CPU占比
641%idle:除IO等待时间以外的其它等待时间占比
0%iow:IO等待时间占比
3%irq:硬中断时间占比
0%sirq:软中断时间占比

第 5 行及以下:各进程的状态监控

PID:进程id
USER:进程所属用户
PR:进程优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,RES=CODE+DATA
SHR:共享内存大小
S:进程状态
%CPU:上次更新到现在的CPU占用时间比
%MEM:使用物理内存占比
TIME+:进程时间的CPU时间总计,单位1/100秒
ARGS:进程名

Ⅱ [Android] 命令行工具adb

adb:Android Debug Bridge (安卓调试桥)
是一个命令行工具,用于电脑端和模拟器或者是设备之间的交互。

它是一个C/S架构程序,由3部分组成:

我们来看看adb是如何工作的。

时序图:

这里讲的是先安装了android studio,然后使用adb的步骤。

这里以MAC系统添加为例

apt-get install adb

如果安装某个apk不成功,可以使用adb安装下,就可以看到具体不成功的错误。
adb install xxx.apk

adb devices

adb shell pm list packages

adb shell mpsys battery

adb exec-out screencap -p > test.png

参考:
https://developer.android.google.cn/studio/run/device
https://anqz.github.io/2015-05-21-Intro-adb

Ⅲ 在android代码里怎么执行adb命令

Android中执行adb shell命令的方式如下: /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"system/bin/") * @return 执行结果组成的字符串 * @throws IOException */ public static synchronized String run(String[] cmd, String workdirectory) throws IOException { StringBuffer result = new StringBuffer(); try { // 创建操作系统进程(也可以由Runtime.exec()启动) // Runtime runtime = Runtime.getRuntime(); // Process proc = runtime.exec(cmd); // InputStream inputstream = proc.getInputStream(); ProcessBuilder builder = new ProcessBuilder(cmd); InputStream in = null; // 设置一个路径(绝对路径了就不一定需要) if (workdirectory != null) { // 设置工作目录(同上) builder.directory(new File(workdirectory)); // 合并标准错误和标准输出 builder.redirectErrorStream(true); // 启动一个新进程 Process process = builder.start(); // 读取进程标准输出流 in = process.getInputStream(); byte[] re = new byte[1024]; while (in.read(re) != -1) { result = result.append(new String(re)); } } // 关闭输入流 if (in != null) { in.close(); } } catch (Exception ex) { ex.printStackTrace(); } return result.toString(); }

Ⅳ 常用的安卓手机adb命令总结

很早就想整理一下自己平时常用的一些adb命令,不仅为了便于以后查找,而且整理的过程自己又重新复习了一遍,但是当我开始在度娘一搜的时候,发现很多人已经写的非常详细了,尤其是当我发现了这篇adb概括

心中一句NND,怎么可以写的这么详细,瞬间没了想写这篇文章的欲望,如果你点了链接发现确实很全,那么恭喜你可以关掉这篇了,哈哈哈。

我就不这么想的,虽然很全,但不是我常用的,因人而异,所以我就权当记笔记+替这哥们宣传了。

– adb devices , 获取设备列表及设备状态

设备的状态有 3 种

device , 设备连接正常

offline , 设备离线,连接出现异常

unauthorized 设备为进行授权,需要在设备上是否允许调试对话框进行授权

offline情况解决办法,先执行adb kill-server 命令,再执行adb start-server 命令,再尝试adb devices 查看列表,如果还是offline,来来来,使用必杀技,重启大法。

当电脑连接多个android设备并可用时,所有的adb命令都需要指定设备后执行(当然你也可以移除多余的设备)

adb -s <设备名称> install/uninstall/shell/pull/push等命令

– adb install app在pc硬盘路径,选中app直接拖入即可

常见的错误情况

INSTALL_FAILED_TEST_ONLY, 安装的app的debug版本的,未签名,adb install -t 路径即可安装

INSTALL_FAILED_DUPLICATE_PACKAGE, 已经安装相同包名的app, 先卸载再安装

– adb uninstall app的包名,卸载app

adb pull 将 Android 设备上的文件或者文件夹复制到本地

adb pull sdcard/Android/111.txt E:\

小技巧,可以将本地路径指定为桌面,方便查看, 在桌面按住shift键,鼠标右键选择在此处打开命令行窗口,直接输入adb pull sdcard/Android/111.txt 执行,就可将111.txt复制到桌面。

前提是设备已经获取root权限

adb root

adb remount

adb push 将pc上文件复制到android设备中,修改room原生应用时比较频繁使用,如settings.apk, launcher3.apk

– adb shell pm 命令

adb shell pm list package 列出android设备上的所有app

adb shell pm list package -s 列出android设备上的系统级别app

adb shell pm list package -3 列出android设备上的第三方app(用户安装的)

adb shell pm list package -f 列出app包名及对应的apk名及存放位置

adb shell pm list package -i 列出app包名及其安装来源(应用市场名称)

adb shell pm mp app包名 列出app的相关信息,类似获取Manifest文件内容

-查看前台 Activity

adb shell mpsys activity activities “| grep mFocusedActivity”

-adb shell am 命令

最常用的就是启动指定的activity和发送指定的广播

启动指定的activity

操作指令 adb shell am start -n 包名/类名

注:如果启动activity时,出现如下错误

java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 > > cmp=com.mediatek.engineermode/.io.Gpio } from null (pid=3083, uid=2000) not exported from uid 1001

解决办法,1、如果是你自己可控的app,那么找到你要调用的activity在manifest.xml中,增加

1

配置即可, android:name="" 可以为空字符串。

2、如果是不可控的app,例如我调用的系统原生app,那么你就洗洗睡吧,别折腾了,除非你修改源码和上边一样操作,重新push替换原来的app。

启动默认浏览器打开一个网页

adb shell am start -a android.intent.action.VIEW -d  * ********

先停止目标应用,再启动

adb shell am start -s com.android.camera/.Camera

启动相机

adb shell am start -n com.android.camera/.Camera

启动设置

adb shell am start -n com.android.settings/com.android.settings.Settings

启动Wifi设置

adb shell am start -n com.android.settings/com.android.settings.wifi.WifiSettings

启动蓝牙设置

adb shell am start -n com.android.settings/com.android.settings.bluetooth.BluetoothSettings

其它的类似只要你能在manifest中找到配置的,都可以通过这种方法来调用

发送指定的广播

操作指令 adb shell am broadcast -a 广播名 --ei/es/ez 参数名 参数值 --ei/es/ez 参数名 参数值

–ei integer 值

–es String 值

–ez boolean 值

–ef float 值

–el long 值

例如之前写的

Android6.0 源码修改之Setting列表配置项动态添加和静态添加, 当中就通过发送广播来接收增加配置列表项

adb shell am broadcast -a cn.dynamic.add.settingcategoryitem --es location “0-2” --es title “红” --es intent “com.android.settings.SCHEDULE_POWER_ON_OFF_SETTING”

-adb shell input keycode 指令

HOME 键 adb shell input keycode 3

返回键 adb shell input keycode 4

打开浏览器 adb shell input keycode 64

-adb shell wm 指令

屏幕分辨率 adb shell wm size

屏幕密度 adb shell wm density

adb shell wm density 320/480/640 可修改屏幕密度查看效果,对应Launcher图标会缩放

adb shell ifconfig 命令

IP 地址 adb shell ifconfig “| grep Mask”

WIFI 地址 adb shell ifconfig wlan0

状态栏和导航栏的显示隐藏

命令:

adb shell settings put global policy_control

可由如下几种键及其对应的值组成,格式为 key1=value1:key2=value2。

key        含义

immersive.full        同时隐藏

immersive.status        隐藏状态栏

immersive.navigation        隐藏导航栏

immersive.preconfirms        同时显示

这些键对应的值可则如下值用逗号组合:

value        含义

apps        所有应用

所有界面

packagename        指定应用

packagename        排除指定应用

例如:

adb shell settings put global policy_control immersive.full=*

表示设置在所有界面下都同时隐藏状态栏和导航栏。(重启也不会失效,恢复需调用下面的命令)

adb shell settings put global policy_control immersive.preconfirms=*

表示恢复显示

adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3

表示设置在包名为 com.package1 和 com.package2 的应用里隐藏状态栏,在除了包名为 com.package3 的所有应用里隐藏导航栏

adb shell am force-stop app  关闭APP

adb shell pm clear APP  app进程被杀死,且会清楚所有数据

 1:查找手机安装应用的包名:adb shell pm list packages -f

    2:查看系统盘符:adb shell df

    3:查看Log 1:adb shell 2: logcat | grep "abc"

    4:删除应用:1:adbremount  2:adb shell  3:cdsystem/app   4:rm *.apk

    5:安装APK: adbinstall -r *.apk  或者 adb push*.apk  /system/app

    6:查看APP启动的时间指令

     adb shell am start -W -ncom.android.dialer/.DialtactsActivity  (W是大写)执行命令后APP会自 动启动,其中ThisTime即是本次     App启动所花费的时间。

    7:查看包名中当前所在进程信息:adb shell ps | grep +包名

    8:查看Activity运行的任务栈:adb shell mpsys activity

     9:查看键值:adb logcat | grep intercep  -i

    10:查看模块所占有的CPU资源:adb shell top -d 2 -m 10

    11:查看可用系统的权

           $ adb shell

           # pm list permissions

   12:模拟按键的输入:adb shell input keyevent + 键值

      eg:  adb shell input keyevent  82   表示menu

             adb shell input keyevent  3     表示home

            adb shell input keyevent  19   表示up

             adb shell input keyevent  20   表示down

            adb shell input keyevent  21   表示left

             adb shell input keyevent  22   表示right

            adb shell input keyevent  66   表示enter

             adb shell input keyevent  4     表示back

    13:模拟滑动输入:adb shell input touchscreen <x1> <y1> <x2> <y2>

        eg: adb shell input touchscreen swipe 18 665 18 350

    14:启动一个Activity : adb shell am start -n 包名+类名

    15:录制屏幕:adb shell screenrecord /sdcard/demo.mp4

    16:重新启动:adb reboot   

    17:Monkey的基本用法下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件:

          $ adb shell monkey -p your.package.name -v 500

        如果跑桌面或者systemUi的monkey的话:

         adb shell monkey -v -v -p 桌面包名 --pct-touch 50 --pct-motion 30 --pct-syskeys 20 --throttle 300 -s 200 200000

    18:查找第三方应用的详细信息:

        adb shell mpsys package +第三方包名(com.txznet.webchat)

Ⅳ Android—ADB命令

1、查看最上层成activity名字:

adb shell mpsys activity | findstr "mFocusedActivity"
或者 adb shell mpsys window w | findstr / | findstr name=
2、查看Activity的任务栈:

3、显示所有的activities的信息,包括任务栈等:

adb shell mpsys activity
4、查看Android应用包名package和入口activity名称 :

aapt mp badging E:\apk\es3.apk
5、显示accounts信息:

adb shell mpsys account
5、显示CPU信息 :

adb shell mpsys cpuinfo
查看CPU使用信息

adb shell top -n 1 -d 0.5 | findstr proc_ id
6、显示键盘,窗口和它们的关系

adb shell mpsys window
当我们需要知道设备的分辨率时

adb shell mpsys window displays
查看UI绘制的各个层级信息

adb shell mpsys SurfaceFlinger
7、显示wifi信息

adb shell mpsys wifi
8、电量信息及CPU 使用时长

adb shell mpsys batteryinfo $package_name
9、获取安装包信息

adb shell mpsys package packagename
10、每个应用的启动次数和时间

adb shell mpsys usagestats
11、显示状态栏相关的信息

adb shell mpsys statusbar
12、内存信息(meminfo package_name or pid 使用程序的包名或者进程id显示内存信息)

adb shell mpsys meminfo
得到com.teleca.robin.test进程使用的内存的信息 adb shell mpsys meminfo com.teleca.robin.test
13、磁盘相关信息

adb shell mpsys diskstats
14、电池相关信息

adb shell mpsys battery
15、显示Alarm信息

adb shell mpsys alarm
统计系统耗电量

adb shell mpsys batterystats
设置线程的优先级

adb shell mpsys activity|grep oom_adj
16、强制关闭一个应用程序;

adb shell am force-stop <PACKAGE>
17、查看内存信息

adb shell cat proc/meminfo
指定进程内存地址映射

adb shell cat proc/pid/maps
指定进程内存详细使用信息

adb shell cat proc/pid/smaps
VSS. RSS. PSS. USS 信息

adb shell procrank
指定进程VSS. RSS. PSS. USS 详细信息

adb shell procmem pid
18、查看可输入的设备

adb shell getevent -p
19、获得特定设备的输入信息

adb shell getevent /dev/input/event0
20、点击

adb shell input tap x y
21、发送按键

adb shell input keyevent 82(keycode)
22、输入文本

adb shell input text XXXX
23、查看报名中包含mobileqq的进程

adb shell ps | findstr mobileqq
24、远程进程ID

adb jdwp
25、获取序列号

adb get-serialno
26、重启到bootloader,即刷机模式

adb reboot bootloader
27、重启到recovery,即恢复模式

adb reboot recovery
28、获取机器MAC地址:

adb shell cat /sys/class/net/wlan0/address
29、获取CPU序列号

adb shell cat /proc/cpuinfo
30、覆盖安装(保留数据和缓存文件,重新安装apk)

adb install -r <apkfile>
31、安装apk到sd卡

adb install -s <apkfile>
32、卸载app但保留数据和缓存文件

adb uninstall -k <package>
33、查看设备cpu和内存占用情况

adb shell top
34、查看占用内存前6的app

adb shell top -m 6
35、刷新一次内存信息,然后返回

adb shell top -n 1
36、查询各进程内存使用情况

adb shell procrank
37、查看指定进程状态

adb shell ps -x [PID]
38、查看后台services信息

adb shell service list
39、查看当前内存占用(该方式只能得出系统整个内存的大概使用情况) 车
如果你想查看所有进程的内存使用情况

adb shell procrank
40、查看IO内存分区

adb shell cat /proc/iomem
41、查看wifi密码

adb shell cat /data/misc/wifi/*.conf
42、清除log缓存

adb logcat -c
43、查看设备信息

adb shell cat /system/build.prop
44、跑monkey

adb shell monkey -v -p your.package.name 500
45、列出目标设备上安装的所有app的包名

adb shell pm list packages
46、截屏命令:

adb shell screencap -p /sdcard/screen.png

adb pull /sdcard/screen.png

adb shell rm /sdcard/screen.png
录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s:

adb shell screenrecord
限制视频录制时间为10s,如果不限制,默认180s:

adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
指定视频分辨率大小:

adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
指定视频的比特率:

adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
在命令行显示log:

adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4
47、设置、获取属性信息

adb shell getprop [key]

adb shell setprop [key] [value]
监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来

adb shell watchprops
48、adb logcat 每一条日志消息都有一个标记和优先级与其关联。
(1)标记是一个简短的字符串,用于标识原始消息的来源 (例如"View" 来源于显示系统)。优先级是下面的字符,顺序是从低到高:

V — 明细 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 严重错误
S — 无记载 (最高优先级,没有什么会被记载)
(2)查看过滤日志

adb logcat ActivityManager:I *:S
*:S 用于设置所有标记的日志优先级为S,可以确保输出符合指定的过滤器设置的一种推荐的方式,
这样过滤器就成为了日志输出的“白名单”
显示所有优先级大于等于“warning”的日志

adb logcat *:W
(3)日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通过修改输出格式来控制输出结果, -v 选项加上下面列出的内容可以控制输出字段:

brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
使用 thread 输出格式

adb logcat -v thread
(4)Android日志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用-b 选项,以下是可以指定的缓冲区:

radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)
查看radio缓冲区

adb logcat -b radio
48、打印应用程序的log

adb logcat -b main -v time>app.log
49、打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了

adb logcat -b radio -v time> radio.log
50、打印系统事件的日志,比如触屏事件

adb logcat -b events -v time
51、tcpmp 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓

adb shell tcpmp -s 10000 -w /sdcard/capture.pcap
52、状态信息,里面包含有dmesg,mpstate和mpsys

adb bugreport>bugreport.log
53、kernel的log凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等吧)

adb shell dmesg > ldmesg_kernel.log
54、mpstate是系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等 。

adb shell mpstate
55、关于系统service的内容都在这个里面

adb shell mpsys
56、显示内存信息

adb shell mpsys meminfo system

Ⅵ Android常用的ADB命令

重启:adb reboot

推文件:adb push E:\xxx.txt storage/sdcard

拉文件:adb push storage/sdcard .

将日志保存到电脑文件: adb logcat > xxx. xxx电脑文本地址

清除指定应用的数据和缓存:adb shell pm clear 例:adb shell pm clear com.yzl.test

查看日志缓冲区大小:adb shell logcat-g

设置日志缓冲区大小:adb logcat-G10M

打开蓝牙:adb shell svc bluetooth enable

关闭蓝牙:adb shell svc bluetooth disable

查询蓝牙是否打开:adb shell settingsgetglobalbluetooth_on

获取蓝牙Mac地址:adb shell settingsgetsecure bluetooth_address

获取某个包名的安装路径:adb shell pm path com.xx.xx

查看所有存活的进程:adb shell ps

过滤关键字查看adb shell ps|findstr xxx

强制安装版本号更低的apk:adb install -r -d "C:\xx.apk"

对指定应用进行500次模拟触摸事件:adb shell monkey -p com.yzl.test -v 500

查看某个apk的应用信息、版本信息:adb shell mpsys package com.yzl.test

查看已安装应用列表:adb shell pm list package或adb shell pm list packages-s

Ⅶ 深入扒一扒安卓中的ADB命令

做过安卓开发的朋友或多或少都遇到过让人厌恶的类似于“could not read ok from ADB Server”的错误。产生这个错误的原因可能多种多样,每次遇到问题的时候,可能大部分人都和我一样,去google一下这个问题别人是如何解决的。假设一下子找到解决了,就放过,下次在遇到的时候同样的再去google一下就好了。但是,这样不是正确的治学态度,为此孔祥子决定去扒一扒!

如下,是我在发现Android studio连接不上手机的时候,尝试去启动一个adb server,但是失败了。

<pre>

根据问题提示,5037端口被占用了。下面就来看看到底是哪一个端口被占用。

<pre>

C:Userszxy>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 7912
TCP 127.0.0.1:5037 127.0.0.1:50025 ESTABLISHED 7912
TCP 127.0.0.1:5037 127.0.0.1:56501 ESTABLISHED 7912
TCP 127.0.0.1:50025 127.0.0.1:5037 ESTABLISHED 7120
TCP 127.0.0.1:56501 127.0.0.1:5037 ESTABLISHED 1264
</pre>

果然,5037被进程id为7912的进程占用了。顺藤摸瓜,看看到底什么进程捣的鬼,
<pre>
C:Userszxy>tasklist | findstr "7912"
romaster_daemon.exe 7912 Console 1 3,024 K
</pre>

看到了吗,是这个进程romaster_daemon.exe ,好了,到此为止找出来是哪一个程序了,下面打开任务管理器,kill掉就可以了。

Android adb(Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。

该工具作为一个客户端-服务器程序,包括三个组件:
客户端(adb client) ,该组件发送命令。客户端在开发计算机上运行。可以通过发出 adb 命令从命令行终端调用客户端。

这里说的客户端,其实包含很广泛。例如我们在命令行窗口运行一个adb命令,其实就是一个adb客户端。还有,我们在android studio中通过点击运行或者调试按钮,app就安装到手机里面了,这个也可以看做是adb客户端。对应的后台进程名称 根据运行的程序的不同而不同。

后台程序 ,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
也就说,开发者测试手机或者模拟器上运行的后台进程,负责接收命令,并运行命令。这个名字对应应该是adbd

具体如下

服务端 ,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。
您可以在 android_sdk/platform-tools/ 中找到 adb 工具
这个是在开发者自己的电脑上,运行的旨在管理adb客户端和手机端的后台程序通信的一个管理程序。

具体流程如下

启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。

然后,服务器设置与所有运行的模拟器/设备实例的连接。它通过扫描 5555 到 5585 之间(模拟器/设备使用的范围)的奇数号端口查找模拟器/设备实例。服务器一旦发现 adb 后台程序,它将设置与该端口的连接。请注意,每个模拟器/设备实例将获取一对按顺序排列的端口 , 这些端口包括用于控制台连接的偶数号端口和用于 adb 连接的奇数号端口。例如:

模拟器 1,控制台:5554
模拟器 1,adb:5555
模拟器 2,控制台:5556
模拟器 2,adb:5557
以此类推...

如上所示,在端口 5555 与 adb 连接的模拟器实例与侦听端口 5554 的控制台的实例相同。

注意 ,这里所说的端口都是开发者电脑上的端口。

我的理解,偶数端口用来实际的数据传输。奇数端口用来发送控制命令和连接用的,例如调试。(如果不正确请指出)

当服务器已设置与所有模拟器实例的连接后,您可以使用 adb 命令访问这些实例。由于服务器管理与模拟器/设备实例的连接,并处理来自多个 adb 客户端的命令,因此,您可以从任意客户端(或从某个脚本)控制任意模拟器/设备实例。

解读一下
注意:上图中的标识为黄色的区域的进程为后台守护进程。
Adb Server运行在开发者电脑上,任何adb client都要等待这个运行起来之后才能做后续的工作。电脑上的android studio或者eclipse等一些adb client和它交互。一旦adb client的命令被发送到手机中,并且被手机中的adbd接收之后,才能和手机交互。

然后在看一张更详细的图

这个图,详细的解释了我运行adb命令中的详细细节。

关于adb的详细命令可以参考: http://adbshell.com/commands 这个网站详。

看了之后,对于前面的5037被占用,导致无法连接手机的原因,我想,我们应该有了更深层次的理解。同时对于其他情况的不能连接手机,我们下次就会有了自己的思考了。

Ⅷ Android 开发常用的adb命令

在Mac 下配置Android SDK的adb命令添加到环境变量:

1. 检查 .bash_profile
使用 vim .bash_profile 打开该文件,如果该文件存在则直接进入如下第二个步骤,如果该文件不存在,可通过下面命令创建.bash_profile:
touch .bash_profile

2. 编辑 .bash_profile
打开.bash_profile文件,进行编辑,命令如下:
vim .bash_profile

添加如下内容, 以下是我的sdk的路径,具体路径根据自己sdk路径稍作改动即可;

3. 保存 .bash_profile
esc 键后退,然后输入 :wq 后保存退出;

4. 更新配置
source .bash_profile

(1) 查看当前显示的activity的名字**

(2) 查看前台Activity

(3). 查看前台Activity的栈信息

结果如下:

在没有root的手机里想adb pull出里面的东西可以先用这个命令搜出位置,然后在pull出来

将apk后缀改成zip, 然后解压

Ctrl + C 停止录屏

配置fastboot命令环境变量

fastboot刷机步骤:

持续更新...

阅读全文

与android代码adb相关的资料

热点内容
加密狗插上去了怎么办 浏览:622
锤子m1怎么把文件夹重置 浏览:213
APP的数据会存在哪里 浏览:64
一支轻快又解压的舞 浏览:586
80x86编程手册 浏览:765
android机制使用 浏览:361
国外太空探索网站源码 浏览:643
dotaimba命令大全 浏览:13
手解剖pdf 浏览:733
单片机无法烧写程序 浏览:413
pline命令 浏览:109
760贴片机编程视频 浏览:333
欧姆龙plc编程第36讲 浏览:915
我的世界如何将一个服务器弄崩 浏览:8
php网站访问量代码 浏览:431
怠速压缩机咔咔响 浏览:176
怎么才能修改APP中的数据 浏览:688
哪里有抢单的app 浏览:462
算法概率题 浏览:465
长方形拉伸的命令 浏览:279