Android是否有一种Firebug或JavaScript控制台调试?[关闭]


70

我正在开发手机网站。它适用于Firefox桌面。它可以在iPhone上使用,但是当我在Android 2.x(或更低版本)上按按钮时。我的JavaScript代码崩溃或其他什么情况...

我可以访问那些设备的记录器或JavaScript控制台吗?

更好的应该是一种Firebug应用程序。




这是一个称为mobile-web-console-logger的库,它使您可以通过wifi在移动设备上调试javascript,而无需USB电缆或安装驱动程序。github.com/erspark2002/mobile-web-console-logger将 所有控制台日志和页面错误输出到页面底部的div。
user1491819

1
没有什么比https://github.com/liriliri/eruda更好的了。Eruda具有chrome控制台工具集的大部分功能。
Rango

Answers:


45

一种选择是weinre。它与控制台一起提供DOM和样式编辑。如果您不想自己进行设置,则可以在http://debug.phonegap.com上托管一个实例。

另一个选项是JSHybugger。这肯定是可用于android浏览器的最完整的调试环境。这是一种付费产品,但可能值得。


1
光滑!似乎有点越野车,但绝对是一个值得的工具。谢谢!
pspahn'5

1
看起来很酷,让我们看一下
2012年

我刚刚在Nexus 4上进行了尝试,Weinre界面在Android版本的Chrome上似乎也可以正常工作。这意味着,如果您经过weinre(在自己的某个地方运行或在此托管版本中运行),则既可以运行Web应用程序,也可以在设备上对其进行调试。
bergie

1
韦恩是不可思议的
雷吉斯B.

6
PhoneGap托管实例似乎不再起作用。
SBhojani

34

Chrome浏览器具有一项非常出色的功能,称为“ USB Web调试”,通过USB连接后,该功能可以在PC上查看移动设备的调试控制台。

有关更多详细信息,请参见此处。

编辑:似乎Windows 8不支持ADB,但是此链接似乎提供了一种解决方案:

http://mikemurko.com/general/chrome-remote-debugging-nexus-7-on-windows-8/


1
非常好的工具,谢谢
Christophe Debove 2012年

太好了,该工具使调试移动设备变得轻而易举
CoalaWeb

1
如果没有管理员权限并且未安装USB驱动程序,该怎么办?
Stefan Steiger 2012年

6
@Quandary考虑使用其他雇主,他们在其中允许您使用工具和权限来完成工作。
xdumaine

1
如果我还必须携带PC,那么拥有平板电脑有什么意义?
塞缪尔·丹尼尔森

12

您可以输入about:debug某些移动浏览器来启动JavaScript控制台。


您在技术上是正确的,但是不要期望它会非常有用。在普通的Android浏览器(4.0)上,它除了吐出console.logs几乎没有什么作用,甚至不返回评估命令的结果。
Tom McKenzie 2013年

7

有时我会将调试输出打印到浏览器窗口。使用jQuery,您可以将输出消息发送到页面的显示区域:

<div id='display'></div>

$('#display').text('array length: ' + myArray.length);

或者,如果您想观看JavaScript变量而不在页面上添加显示区域,请执行以下操作:

function debug(txt) {
    $('body').append("<div style='width:300px;background:orange;padding:3px;font-size:13px'>" + txt + "</div>");
}

3

我遇到了同样的问题,只需使用console.log(...)(如firebug),然后安装一个日志查看器应用程序,即可让您查看浏览器的所有日志。


2

我们在项目中遵循以下步骤在移动设备上调试网站。

  1. 在移动设备和台式机上安装Mobogenie软件(两者具有相同的版本)。
  2. 在移动版Google Chrome浏览器中打开您的网站。
  3. 在桌面上打开Goog​​le Chrome。转到选项->更多选项->检查设备
  4. 在这里,您可以找到在移动设备上打开的网站列表,然后单击检查,您将获得所需的JavaScript控制台。

1

“ USB Web调试”是一种选择

“在屏幕上打印”另一个。

但是我更喜欢通过“ adobe edge inspect ”进行远程调试,正式称为adobe shadow。它使用Weinre内部(= WEb检查远程)

您只需在浏览器(Chrome)中安装+一个小插件,然后即可在Play商店中下载免费的应用即可。然后,您将拥有所有工具,例如Chrome开发工具。

它还支持iOS和Kindle Fire

更新资料

就像克里斯注意到的那样,您必须付费才能使用边缘检查。便宜的替代方法是直接使用weinre,这是边缘检查的基础。这是有关如何设置它的文章


看来您必须每月订阅Adbobe Creative Cloud才能使用Edge Inspect
Chris Halcrow 2013年

@ChrisHalcrow是的,这很可惜,但看起来他们不得不从所有成功的项目中挤出每一分钱:)
VDP

1

如果您使用的是Cordova 3.3或更高版本,并且您的设备运行的Android 4.4或更高版本,则可以使用“使用Chrome在Android上进行远程调试”。完整说明在这里:

https://developer.chrome.com/devtools/docs/remote-debugging

综上所述:

  • 使用USB电缆将设备插入台式计算机
  • 在设备上启用USB调试(在我的设备上,该设置位于“设置”>“更多”>“开发人员选项”>“ USB调试”下)

或者,如果您使用的是Cordova 3.3+,而没有配备4.4的物理设备,则可以在台式计算机上使用使用Android 4.4+的模拟器通过模拟器运行应用程序。

  • 在设备或仿真器上运行您的Cordova应用程序
  • 在台式机上的Chrome中,在地址栏中输入chrome:// inspect /#devices
  • 您的设备/仿真器将与连接到计算机的任何其他公认的设备一起显示,并且在您的设备下方,将显示在设备/仿真器上运行的Cordova'WebView'(主要是您的Cordova应用)的详细信息( Cordova的工作方式是,它基本上是在您的设备/模拟器上创建一个“浏览器”窗口,其中有一个“ WebView”,即您正在运行的HTML / JavaScript应用)
  • 单击“ WebView”部分下的“检查”链接,您会在其中看到列出的设备/模拟器。这将带来Chrome开发人员工具,现在您可以使用它们调试应用程序。
  • 选择Chrome开发者工具的“来源”标签,以查看您的设备/模拟器上的Cordova应用当前正在运行的JavaScript。您可以在JavaScript中添加断点,以允许您调试代码。
  • 另外,您可以使用“控制台”选项卡查看任何错误(将以红色显示),或者在控制台底部,您将看到“>”提示。在这里,您可以输入要检查其当前值的任何变量或对象(例如DOM对象),然后将显示该值。

这是一个很好的选择。我发现xamarin.com/android-player的确运行良好,并且是为调试而设计的,并支持USB协议。我要做的是进入模拟的android设置并按照说明打开USB,请确保设置要调试的应用程序(在我的情况下,我是使用常规浏览器调试的)。完成后,打开常规浏览器。仿真的android,然后跳回到您的Chrome DevTools检查设备窗口。浏览器将显示在列表中,并带有一个不错的选项卡列表供您检查。纯粹的幸福!
Mike Kormendy 2015年

1

您可以尝试YConsole一个js嵌入式控制台。它轻巧且易于使用。

  • 捕获日志和错误。
  • 对象编辑器。

如何使用 :

<script type="text/javascript" src="js/YConsole-compiled.js"></script>
<script type="text/javascript" >YConsole.show();</script>


0

如果您不介意通过第三方服务器转发,JSConsole是一个非常有用的JavaScript远程调试器。



0

我还寻找了一个简单的控制台替代品,只是为了转储文本。所以我要做的就是这个功能:

function remoteLog (arg) {
    var file = '/files/remoteLog.php';
    $.post(file, {text: arg});
}

远程PHP文件将所有输出记录到中的数据库中arg。我花了5分钟的时间(好的,在服务器端,我使用了一个简单的日志记录库来记录和显示文本消息,但仍然...)。


0

Google于2013年12月3日推出了Chrome DevTools for Mobile,使开发人员可以通过使用零配置的仿真屏幕广播远程调试移动Web应用程序。

有关所有功能,请查看Paul Irish在YouTube上的演讲


用户专门询问的是旧的2.x Android浏览器,而不是Chrome。las,那里有很多旧手机。
mikemaccana 2013年

@mikemaccana,就是说您无法使用最新的Chrome开发者工具远程调试基于2.x的Android?
2013年

没错 Chrome开发人员工具仅适用于Android版Chrome,不适用于Android浏览器。Android浏览器未出现在chrome:// inspect /#devices下。
mikemaccana 2013年

0

尝试 js-mobile-console

MobileConsole可以嵌入任何页面中进行调试。它会捕获错误,并且行为与浏览器中的本机JavaScript控制台完全相同。它还会输出您通过window.console的API编写的所有日志。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.