首先要配置好adb,也就是要cmd能找到adb,这个你可以百度一下如何配置adb。\x0d\然后就是adb的命令,如下:\x0d\要使用adb命令,手机需要打开USB debug。\x0d\ 安装软件\x0d\ adb install apk文件名称apk\x0d\ 重新安装该软件\x0d\ adb install -r apk文件名称apk\x0d\ 卸载apk软件\x0d\ adb uninstall apk包名apk\x0d\ 查看手机上的运行日志,此项可以用来查错\x0d\ adb logcat\x0d\ 查看手机是否连接,以及连接了几台手机\x0d\ adb devices\x0d\ A为手机路径,B为电脑路径,意思为:把文件从手机中复制到电脑上\x0d\ adb pull \x0d\ A为手机路径,B为电脑路径,意思为:把文件从电脑复制到手机上\x0d\ adb push \x0d\ 进入手机的超级终端Terminal \x0d\ adb shell\x0d\ 重新挂载文件系统\x0d\ adb remount\x0d\ 重启手机\x0d\ adb reboot\x0d\ 重启到Recovery界面\x0d\ adb reboot recovery\x0d\ 重启到bootloader界面\x0d\ adb reboot bootloader\x0d\ 例子:刷官方高版本后重新获取ROOT和降级方法(部份操作)\x0d\ 进行adb运行环境\x0d\ adb shell\x0d\ 设置超级用户模式\x0d\ su\x0d\ 映射出目录\x0d\ mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system\x0d\ 退出su\x0d\ exit\x0d\ 退出shell准备接受下一个adb命令\x0d\ exit\x0d\ 增加flash_image文件到手机上\x0d\ adb push flash_imagezip /system/bin/flash_image\x0d\ recovery先复制到卡上\x0d\ adb push recovery-RA-heroc-v162img /sdcard\x0d\ 再次进入adb环境\x0d\ adb shell\x0d\ 修改文件属性\x0d\ chmod 0755 /system/bin/flash_image\x0d\ 重启系统\x0d\ reboot\x0d\\x0d\采纳我吧
方法如下:
1 使用USB数据线连接设备。
2 在命令行输入adb tcpip 5555 ( 5555为端口号,可以自由指定)。
3 断开 USB数据,此时可以连接你需要连接的|USB设备。
4 在从cmd命令行中输入 adb connect <设备的IP地址>:5555(端口号)
后面不通过连接数据线就可以使用ADB,DDMS 来调试Android应用或显示Logcat 消息。
5 如果需要恢复到USB数据线,可以在命令行输入adb usb,也可以adb disconnect <设备的IP地址>:5555(端口号)
6、查看IP地址方法:
1>Android设备的IP地址可以在Settings->About Phone->Status 查到
2>adb shell
>>>ifconfig
3>adb shell
>>>netcfg
7、举个栗子:
adb tcpip 5555
adb connect 1921683421:5556
adb disconnect 1921683421:5556
使用adb桥的时候需要pc一台,手机一台,adb工具一个
首先需要配置环境变量:把adb工具的路径放到path中,比如C:\adb放到path中可能会因为操作系统的不同呈现两种形式,一个是直接添加,一个是点开编辑后没有添加,需要在编辑的最后面加一个分号;然后再将路径写入,保存之后按道理说adb桥就可以使用了
但是在使用前要明白,adb就是一个桥,让安卓系统和pc之间打通连接的一个桥,这PC设置完了,该手机了,手机的话需要打开开发者模式的usb调试,小米手机的话需要打开的开关有(暂时是MU102):1、设置----全部参数-----狂戳miui版本,这样就打开开发者模式了。2、设置-----更多设置------开发者选项—开启开发者选项。3、需要开启的按钮有:USB调试、USB安装、USB调试(安全设置)、关闭启动MIUI优化。
这时候需要在小米手机上面的USB的用途上面选择传输文件或者传输照片(除了仅充电就行~)
然后使用快捷键win+R输入cmd----回车,在黑框内输入adb devices 如果出现
这就代表adb没问题,但是没显示现在连接的设备,这说明有其他问题存在,首先看看PC上面安卓的驱动有没有安装好,因为正确的时候都会在List of devices attached下面显示自己的一段信息963d6a7e0604 device(这是我的)这时候我们可以下载驱动人生或者驱动精灵看看外设的驱动是否正常安装如果显示的是
就证明连接成功了,这时候可以用adb命令对连接好的设备进行一些模拟操作
总之连接不上就三个地方的问题:1、adb版本太太太太低了,不支持。2、pc没正常安装安卓驱动。3、手机开发者模式、usb调试、adb开关没打开。
做过安卓开发的朋友或多或少都遇到过让人厌恶的类似于“could not read ok from ADB Server”的错误。产生这个错误的原因可能多种多样,每次遇到问题的时候,可能大部分人都和我一样,去google一下这个问题别人是如何解决的。假设一下子找到解决了,就放过,下次在遇到的时候同样的再去google一下就好了。但是,这样不是正确的治学态度,为此孔祥子决定去扒一扒!
如下,是我在发现Android studio连接不上手机的时候,尝试去启动一个adb server,但是失败了。
<pre>
根据问题提示,5037端口被占用了。下面就来看看到底是哪一个端口被占用。
<pre>
C:\Users\zxy>netstat -ano | findstr "5037"
TCP 127001:5037 0000:0 LISTENING 7912
TCP 127001:5037 127001:50025 ESTABLISHED 7912
TCP 127001:5037 127001:56501 ESTABLISHED 7912
TCP 127001:50025 127001:5037 ESTABLISHED 7120
TCP 127001:56501 127001:5037 ESTABLISHED 1264
</pre>
果然,5037被进程id为7912的进程占用了。顺藤摸瓜,看看到底什么进程捣的鬼,
<pre>
C:\Users\zxy>tasklist | findstr "7912"
romaster_daemonexe 7912 Console 1 3,024 K
</pre>
看到了吗,是这个进程romaster_daemonexe ,好了,到此为止找出来是哪一个程序了,下面打开任务管理器,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://adbshellcom/commands 这个网站详。
看了之后,对于前面的5037被占用,导致无法连接手机的原因,我想,我们应该有了更深层次的理解。同时对于其他情况的不能连接手机,我们下次就会有了自己的思考了。
ADB接口的作用主要是让电脑等其它设备控制安卓系统的,所以,称为“中间桥”;
不是为安卓自已用的,自已可直接执行称为SHELL,这与ADB无关。
所以安卓JAVA不一定有封装的ADB类。电脑上有ADB服务程序,端口5037,
它是中间程序,与安卓系统上守护进程(Daemon)通讯。
如果要在自已的手机上应该也能执行adb命令,应该直接跟守护进程
(Daemon)通讯了。百度上可以搜到的方法并不满意。
楼主用exec执行CMD命令,这已不是ADB接口了,这是系统的SHELL了!!!
自已用socket/tcp直接发命令效果不知怎样,地址用127001, 安卓daemon进程的端口
5555 是奇数开始。
。。。 。至于ADB对话协议百度可以搜到,建议试一试。
楼上其实要的是SHELL,并不是ADB,我搜到一篇文章,但我并没有试过,
是否需要ROOT,不得而知,附上,你试一试 ,回个话。
满意就采纳!
Android使用ADB进行调试,有如下两种方法:
方法一:配置环境变量
直接将 adb 文件夹的目录添加到系统环境变量 Path 中,操作步骤:我的电脑 -> 属性 -> 高级系统设置 -> 环境变量。
方法二:复制到系统文件目录
将 adb 工具包的四个文件都复制到 C:\Windows\System32 目录里。
这是网上推荐的方式之一,但是我尝试之后发现并不能正常使用,在cmd窗口输入 adb 还报错 “无法启动此程序,因为计算机中丢失 AdbWinApidll。尝试重新安装该程序解决此问题。”
解决方法:这个配置过程跟系统的位数有关,假如系统是32位的,则将四个文件都复制到 C:\Windows\System32 目录里即可。
但是,假如使用的Windows系统是64位的,则需要将其中的 AdbWinApidll 文件复制到 C:\Windows\SysWOW64里,这样就一切正常了。
扩展资料
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。
adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如G1手机)它的主要功能有:
1、运行设备的shell(命令行)
2、管理模拟器或设备的端口映射
3、 计算机和设备之间上传/下载文件
4、 将本地apk软件安装至模拟器或android设备
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备
参考资料:▬ADB(调试桥)
欢迎分享,转载请注明来源:品搜搜测评网