Android学习Android开发经验谈

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

2017-10-13  本文已影响15062人  牵手生活

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

常用模拟器:

Android studio 及monitor 无法识别模拟器

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

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


Paste_Image.png

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

tasklist > c:\log.txt
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
Paste_Image.png

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

Paste_Image.png

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

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

netstat

附上:ADB原理

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

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


#更新手机图库

高
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 链接多手机开发

uber-adb-tools

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

awesome-adb

https://github.com/topics/android-debug-bridge

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

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

个人分享内容分类

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读