即使按照https://developer.chrome.com/docs/devtools/remote-debugging/上列出的步骤操作,我还是无法在我的三星Galaxy S4上使用DevTools Devices功能

我的设备有Chrome v32和Chrome Beta v33,而我的个人电脑有Chrome v33和Chrome Canary v35。

我的设备上已开启USB调试,并且已安装设备驱动程序。我从未从上面的链接中得到步骤3中概述的提示,以批准RSA密钥指纹,但设备确实连接到我的PC以允许媒体传输。我甚至根据上面的链接撤销了所有USB调试授权。

我的电脑上没有任何额外安装的东西用于Android开发,这可能是问题所在。我希望利用这个功能从设备的角度来检查网页。


当前回答

(注意-这适用于我使用三星S6。我很感激对使用的电话版本的任何评论,对于这些指导工作的任何人)

如果你的手机连接到你的电脑,并在电脑上被识别,你已经在你的手机上启用了USB调试,但手机没有出现在Chrome开发工具中的“远程设备”下,那么你可以首先尝试重新启动自动发现过程,选择以下选项在你的手机上-“设置>开发人员选项>撤销USB调试授权”。

如果这不起作用,那么问题很可能是Android调试桥守护进程缺失或没有在您的计算机上运行(关于ADB - https://developer.android.com/studio/command-line/adb.html)

使用ADB不需要完整的Android SDK,你可以从这里下载独立的Android SDK平台工具:

https://developer.android.com/studio/releases/platform-tools.html

首先,为您的平台安装工具。我使用的是Windows,我的步骤是:

解压缩下载到c:\platform-tools(我只是把它放在这里 方便,你可以选择不同的位置)。

-打开文件夹下的命令提示符(以管理员身份运行),运行 下面的命令:

adb devices

(adb.exe在我们的文件夹中)。这将启动守护进程,并向您显示附加的Android设备列表。

如果你在某台设备旁边看到“未经授权”,这意味着你必须解锁手机,并选择“允许访问设备数据”,然后选择“始终允许从这台电脑访问”。然后你应该看到你的手机连接在开发控制台:

每次计算机重新启动时,都需要运行Daemon。在你的启动文件夹中放一个。bat文件,以便在你的计算机每次启动时运行守护进程(如果你完全按照我的指示执行,你需要创建的。bat文件的内容将是c:\platform-tools\adb devices)。

If you now have difficult accessing a URL (e.g. 'localhost') that you're sending to Chrome on your Android device (via the Chrome dev tools on your computer), that's a different issue. See this question for advice How can I access my localhost from my Android device? (in brief, you need to make sure your computer and phone are connected on the same network, so connect both onto the same wi-fi network or tether your computer to your phone's hotspot, then run ipconfig to get your wireless IPv4 IP address, and use that IP in the URL you want to view on your phone)


注意:为了初始调试连接工作,你需要在Android上使用MTP模式(媒体传输协议),用于USB传输(MTP是默认的)。在其中一个答案中提到了一个解决方案,涉及到将该模式切换到其他模式,但这可能只是触发某种类型的重新识别,如果你断开连接,然后重新连接手机,你很可能会自动切换回MTP模式。

其他回答

我尝试了@maurice cruz的答案,但无法找到实际的司机。然后我发现这篇文章有一个全球LG驱动程序的下载(不确定是否涵盖了所有,但很多)。安装完成后,关闭usb调试开关,然后打开,系统提示我接受RSA。

在电话上确保调试模式是打开的。

在一台Galaxy S7和Windows 10笔记本电脑上,当我连接到电脑时,我所要做的就是将USB连接模式更改为“音频源”(电话设置>开发人员选项> USB配置)。

然后立即出现设备上的提示,允许RSA密钥指纹。然后电脑上的开发工具识别了我的设备。

我不知道为什么这样做,但它是迄今为止最简单的解决方案,而且不需要安装不必要的软件。

我也有一些运气把它改为“MTP(媒体传输协议)”模式,但只是偶尔。

编辑:

MTP选项不再适用于我。

除“音频源”外,还可以将连接方式设置为“MIDI”。通过直接从设备的通知栏访问来更改连接模式要容易得多-点击“通过USB传输媒体文件”或等效的通知。

使用MIDI可能是两种方法中最简单的,因为它不需要进入多个设置屏幕来访问它。

Ubuntu Linux 20更新:

您可能不再需要执行下面的任何命令。Sudo apt install -y adb是足够的。Chromium 83默认启用了该端口转发规则

年长的回答:

对于任何使用Ubuntu的人,我使用了以下方法:

https://github.com/M0Rf30/android-udev-rules

注意Ubuntu 16用户需要的add group name命令。

我还安装了ADB工具sudo apt install Android -tools- ADB和sudo apt install Android -tools-fastboot,不需要整个Android SDK

最后,不要忘记在devtools设置中添加端口转发,在您的手机最终连接的设备旁边,即8080 | localhost:8080

多年来,我一直在不同的电脑和设备上使用这个工具。我经常发现chrome / ADT看不到我的设备。

在这种情况下,唯一对我有效的是重置ADB deamon:

adb kill-server

或/及

adb usb

重新插入设备后,将在设备上显示一条消息,要求您允许从连接的计算机进行USB调试。允许这个请求是非常重要的。