如何查看模拟器的adb 端口&adb常用命令

在开发中经常会借助一下模拟器进行测试

常用模拟器:

  • genymotion
  • 天天模拟器
  • 夜神模拟器
  • 领航模拟器

Android studio 及monitor 无法识别模拟器

在不同模拟器中切换时经常会发现Android studio 及monitor不能找到我们需要调试的模拟器
以天天模拟器为例 ,已经有2台模拟器,只成功链接1台

#查看端口被什么进程占用
netstat -aon | findstr "5037"
#查看进程的任务名
tasklist | findstr "12260"


如何查看模拟器的adb 端口&adb常用命令_第1张图片
Paste_Image.png

用tasklist查看进程pid(当然任务管理器是更好用的)

tasklist > c:\log.txt
如何查看模拟器的adb 端口&adb常用命令_第2张图片
Paste_Image.png

查看占用端口1992、8716的进程(10836是多开控制台)

Netstat -ano | findstr 1992
Netstat -ano | findstr 8716

adb端口分析

30054 端口是与30055配对的
那么我们可以得知另外一台模拟器的adb端口应该是30104
在cmd下面执行命令

adb.exe connect 127.0.0.1:30104
如何查看模拟器的adb 端口&adb常用命令_第3张图片
Paste_Image.png

夜神的情况(一般是在62001开始)

如何查看模拟器的adb 端口&adb常用命令_第4张图片
Paste_Image.png

PID,端口互查,tasklist,netstat_百度文库

注:其实最为高效的方法是在模拟器中运行模拟终端app 然后在模拟终端中运行netstat命令

netstat

附上:ADB原理

Android 调试系统是一个面对客户服务系统,包括三个组成部分:

  • 一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用adb命令启动客户端。 其他Android工具比如说ADT插件和DDMS同样可以产生adb客户端.
    在你用于开发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。.
  • 一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。.
    当你启动一个adb客户端,客户端首先确认是否已有一个adb服务进程在运行。如果没有,则启动服务进程。当服务器运行, adb服务器就会绑定本地的TCP端口5037并监听adb客户端发来的命令,—所有的adb客户端都是用端口 5037与adb服务器对话的.
如何查看模拟器的adb 端口&adb常用命令_第5张图片
image.png

接着服务器将所有运行中的模拟器或设备实例建立连接。它通过扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备。一旦服务器找到 了adb守护程序,它将建立一个到该端口的连接。请注意任何模拟器或设备实例会取得两个连续的端口——一个偶数端口用来相应控制台的连接,和一个奇数端口 用来响应adb连接。比如说:
模拟器1,控制台:端口5554
模拟器1,Adb端口5555


其他自己常用命令备注

#push 文件到手机
adb push D:\czg\mobileData\czgQrCode.jpg /sdcard/czgDownload
adb push  F:\1.png storage/emulated/legacy/DCIM/Camera/

#push 目录到手机 mobileData这个目录copy--》到 收集sd卡的czgDownlaod目录
adb push D:\czg\mobileData /sdcard/czgDownload/

adb push D:\czg\czgDownload /sdcard/

#pull 手机文件到电脑(注意在git Bash命令行不能使用哦)
adb pull /sdcard/czgDownload/EnMicroMsg.db d:/czg/

#开启服务

am startservice -n com.zan.input/com.zan.input.service.ImageService

#连接主机[:PORT]通过TCP/IP连接到设备[默认端口=5555] -比如华为云手机
adb connect 127.0.0.1:1234
#更新手机图库

高
adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///storage/emulated/0/DCIM/Camera/
低
adb shell  am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///storage/emulated/legacy/DCIM/Camera/

#adb shell 如何选择特定的设备
adb devices #显示都有哪些设备连接
adb -s emulator-5556 shell {command} 发送指定命令
#ADB很强大,记住一些ADB命令有助于提高工作效率
https://zmywly8866.github.io/2015/01/24/all-adb-command.html

adb 链接多手机开发

uber-adb-tools

https://github.com/patrickfav/uber-adb-tools

awesome-adb

https://github.com/topics/android-debug-bridge
查看Android 手机的arm版本
#查看cpu
adb shell getprop ro.product.cpu.abi
#其他信息
adb shell cat /system/build.prop

adb shell cat /proc/cpuinfo
#查看是否是armeabi-v7a等
getprop|grep arm
image.png

分享是一种美德,牵手是一种生活方式。

最后感谢提供的分享平台,你觉得有用可以收藏方便以后查阅。

个人分享内容分类

今日头条号--牵手生活 :android 破解与逆向(暂未接触ios逆向)

csdn--牵手生活 :android 入门级介绍、部分工具类分享。

--牵手生活 :侧重ios开发方面的知识点

你可能感兴趣的:(如何查看模拟器的adb 端口&adb常用命令)