如何在android中的webview中debuggingjavascript

我有一个webview,适用于iOS,但不是Android。 有没有一种工具可以在浏览器中连接到Android webview并使用firefox或webkit控制台进行debugging? 目前我不知道是什么导致webview不能在Android中工作。

在iOS中,我可以打开我的iPad或iPhone模拟器,打开webview窗格,并在我的桌面浏览器中侦听端口9999,它显示了您在webkit开发人员工具/debugging工具中看到的工具。

我正在寻找Android的类似工具,或者至less让我开始debugging。

Solutions Collecting From Web of "如何在android中的webview中debuggingjavascript"

看看我们 。 它提供了类似于Chrome开发者的工具,用于从WebKit浏览器debugging到在远程设备上运行的浏览器。

如果你不使用Android 4.4 ,根据http://developer.android.com/guide/webapps/debugging.html你将享受老派的debugging方式…

如果您没有运行Android 4.4或更高版本的设备,则可以使用控制台JavaScript APIdebuggingJavaScript,并将输出消息查看到logcat。

对于Android 4.4及更高版本 ,您可以享受远程debugging,请参阅https://developers.google.com/chrome-developer-tools/docs/remote-debugging#debugging-webviews

启动Android 4.4(KitKat),您可以使用DevTools在原生Android应用程序内debuggingAndroid WebViews的内容。

debuggingWebView最简单的方法是通过USB将您的Android设备连接到PC,并通过Chrome开发工具检查您的WebView。

所以,你将需要:

1)在我们的设备上激活USBdebugging。 你可以find它Settings >> Developer Options >> Debugging >> USB Debugging (激活checkbox)

2)通过USB连接你的计算机

注意:如果您正在Windows上开发,请为您的设备安装适当的USB驱动程序。 请参阅Android Developers网站上的OEM USB驱动程序 。

3)打开Chrome浏览器并inputURL: chrome://inspect/#devices

4)确认“发现USB设备”已激活

5)在您的设备上,警报会提示您允许从计算机进行USBdebugging。 点击确定。

6)在chrome:// inspect页面显示每个连接的设备。 点击inspect连接的设备,你会得到控制台。

更详细的手册是debuggingAndroid WebView

这些是我用来debugging设备中的WebView内容的步骤:

  1. 在您的设备中启用开发者模式
  2. 将设备插入PC并启用USBdebugging(如果需要,安装驱动程序)
  3. 将此行添加到您的自定义Application类或加载了web视图的Activity

     //if your build is in debug mode, enable inspecting of webviews if (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)) { WebView.setWebContentsDebuggingEnabled(true); } 
  4. 打开Chrome并转到chrome://inspect ,您应该在“远程目标”列表中看到您的设备

  5. 从Android Studio开始debugging您的应用程序
  6. 当一个WebView将被添加到布局,在你打开的标签将出现一个检查button的屏幕截图,点击那里,Chrome开发者控制台将打开

如果您正在寻找解决scheme来debugging在webview中运行的JavaScript代码,请查看jsHybugger – 适用于Android Web浏览器的JavaScript / HTML5 / CSSdebugging器。

http://www.jsHybugger.org

我曾在我以前的项目中使用JavaScript的webview工作,我遇到了同样的问题。 我还没有find一种方法来直接debugging我的代码,但我用一个JavaScript接口发送信息到我的活动。 这样你可以logging你的JavaScript的活动或显示一些Toast消息。

当你的java方法没有被调用时,通常意味着你在你的JS代码中犯了一些错误。

我知道这不是针对你的问题的高科技解决scheme,但至less是这样的,对我来说也是有效的。

祝你好运,Wottah

尝试通过在桌面上安装adb来访问设备的ADB Logcat …