模拟 WebView 应用程序时获取 Javascript 控制台

问题描述 投票:0回答:2

我对 Android 开发还很陌生,我正在尝试创建一个基于 WebView 的应用程序。我掌握了基础知识,我直接在手机上模拟该应用程序,想知道是否有办法获得像 Chrome PC 版本一样的

Javascript console

我的设备运行的是 Android 4.2.1 API Level 17。我无法在我的计算机上模拟应用程序,它不起作用。

我已经在 Stackoverflow 上看过 这个主题,但对我没有帮助。

所以,我尝试了什么(来自 Stackoverflow 主题的示例):

  • 从我的设备到我的计算机进行远程调试:我不能因为我的设备运行 Android 4.2.1 并且至少需要 Android 4.4+。

  • JavaScript 控制台:我无法访问并且没有在我的 WebView 应用程序中实现浏览器栏(并且不想实现一个...)

  • 原始答案:我把一些

    console.log('test')
    console.error('test')
    放在
    window.onload function
    上,看看我是否可以在
    logcat
    ADB logs
    上找到它们,但我找不到它们,即使我放了
    adb logcat 
    搜索它们。

有人可以帮助我吗?我真的不知道如何获得控制台,并且真的需要它......

谢谢!

android webview
2个回答
73
投票

您所指的答案是针对Android浏览器应用程序的,而不是针对WebView组件的。

为了从

console.log()
系列函数获取输出,您需要为 WebView 设置
WebChromeClient
并重写
onConsoleMessage()
(doc) 方法,如下所示:

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
        android.util.Log.d("WebView", consoleMessage.message());
        return true;
    }
});

0
投票

在 Chrome 上访问此网址 - chrome://inspect/#devices

选择设备项前面的“检查”选项。

© www.soinside.com 2019 - 2024. All rights reserved.