自2014年以来,Android WebView 已经作为一个可更新的系统组件铺平了道路,为 Android 应用程序和用户提供了稳定性和性能改进、现代网络平台功能和安全补丁。 然而,更新可能是一把双刃剑: 就像我们努力追求稳定和向下兼容一样,新的崩溃和突破性的变化偶尔会出现。 为了更快地解决这些问题,今天我们发布了 WebView DevTools,这是一套新的设备上调试工具,用于诊断由 WebView 导致的崩溃和运行不正常的 web 平台特性。

为了您的方便,WebView 开发工具作为 WebView 本身的一部分包含在内。 启动 WebView Devtools 最简单的方法是尝试 WebView Beta。 的测试版程序是应用程序开发人员在到达用户之前几周获得 WebView 的一种方式,这样可以获得额外的准备时间来向我们的团队报告兼容性缺陷。 从今天的版本(M83)开始,WebView Beta 包含了 WebView DevTools 的启动图标。 只需要找到蓝色和灰色的 WebView 齿轮图标,就可以开始在你的应用程序中调试 WebView。

没有一个软件是无 bug 的,加载 web 内容是一个挑战,所以 WebView 崩溃对于应用程序来说并不奇怪。更糟糕的是,这些崩溃很难调试,因为 WebView 的 Java 和 C++ 堆栈跟踪是模糊的(为了最小化 Android 用户的 APK 大小)。为了使这些崩溃更具可操作性,我们向 WebView 的内置崩溃记者提供一流的访问权限。 只要打开 WebView DevTools,点击“崩溃” ,你就会看到设备上的应用程序最近导致的 WebView 崩溃列表。您可以使用这个工具查看崩溃报告是否已经上传到我们的服务器,如果有必要强制上传它,然后提交一个 bug。这确保了我们的团队拥有快速解决这些故障所需的所有信息,并确保在您的应用程序中有一个更流畅的用户体验。

然而,并不是所有的 bug 都会导致崩溃。由于新特性引起的行为改变,过去的一些 WebView 版本已经破坏了 Android 应用程序。虽然我们的团队的策略是回滚那些破坏兼容性的特性,但是 chromium 团队在每个版本中都为 WebView 启动了几个特性,而且我们经常需要时间来识别出问题的特性。也可以在这里提供帮助。受到谷歌 Chrome 浏览器 Chrome://flags 工具的启发,我们为应用程序开发者提供了类似的实验性功能控件,这个工具可以让 Google 相容性测试拥有网络平台功能。 首先,打开 WebView DevTools,点击“ flags” ,启用或禁用任何可用的特性,然后关闭并重新启动正在测试的基于 WebView 的应用程序。 使用 webviewdevtools 可以帮助我们一起确定罪魁祸首,以便回滚它。我们还为即将发布的版本提供了特性标志,因此您可以通过在测试设备上启用这些特性来更早地测试兼容性。

我们希望你发现 WebView 开发工具有助于报告崩溃和测试新的 WebView 功能。今天安装 WebView 测试版,开始使用 WebView 开发工具,查看用户指南获取更多提示和技巧。

原文作者: Nate Fischer WebView 团队软件工程师 原文地址:https://android-developers.googleblog.com/2020/04/developer-tools-to-debug-webview-in-beta.html

199元学习大礼包:点击领取

原文地址:https://androidweekly.io/news-developer-tools-to-debug-webview-in-beta/

版权声明:禁止一切形式的转载-禁止商用-禁止衍生

公众号:Android开发技术周刊

[译]使用开发工具来调试 Beta 版 WebView的更多相关文章

  1. [Android 新特性] 谷歌发布Android Studio开发工具1.0正式版(组图) 2014-12-09 09:35:40

    Android Studio是谷歌于13年I/O大会推出的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的Androi ...

  2. 如何调试 Java 开源项目源码,记一种源码导入开发工具并调试的通用方法

    楔子 说起读开源项目源码,很多朋友觉得高大上.大佬牛逼,云云~ 挡在很多人面前的不是源码怎么读,而是不知道如何导入源码到开发工具以及如何调试源码. 本文将以 spring-cloud-gateway ...

  3. Chrome 开发工具 Javascript 调试技巧

    http://www.w3cplus.com/tools/dev-tips.html 一.Sources 面板介绍: Sources 面板分为左中右 3 部分左:Sources 当前页面加载的资源列表 ...

  4. Linux C编程学习之开发工具2---GDB调试器

    简介 GDB是一个功能强大的交互式程序调试工具,主要工作在字符界面下. GDB不仅可以用来调试C/C++ 语言编写的程序,还可以用来调试 Pascal.Objective-C,以及Fortran等语言 ...

  5. 【Java】使用IDE开发工具远程调试Java代码

    概述 服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态 测试 ...

  6. 七款Debug工具推荐:iOS开发必备的调试利器

    历时数周或数月开发出来了应用或游戏.可为什么体验不流畅?怎么能查出当中的纰漏?这些须要调试诊断工具从旁协助.调试是开发过程中不可缺少的重要一环.本文会列举几个比較有效的调试诊断工具,能够帮助你寻根究底 ...

  7. Xamarin.Forms教程下载安装Windows版的Xamarin开发工具

    Xamarin.Forms教程下载安装Windows版的Xamarin开发工具 下载安装Windows版的Xamarin开发工具 本节将讲解如何下载并安装Windows版的Xamarin开发工具. 下 ...

  8. 微信小程序开发工具使用与设计规范(二)

    [未经作者本人同意,请勿以任何形式转载] 上一篇文章主要分析了微信小程序应用场景和优劣势.本篇你可以学习到: 如何使用小程序开发工具写一个Hello World 微信小程序设计规范 微信小程序项目结构 ...

  9. WeX5 快速开发平台 V3.6 正式版发布

    WeX5 V3.6 正式版核心特性:一.打包特性增强: 1- 提供多WebView选择,引入腾讯X5引擎,可自动适配移动设备环境进行切换,使通过X5打包生成的App具备更高的兼容性及更小的文件尺寸: ...

随机推荐

  1. MySQL学习(5)

    三 触发器 对某个表进行某种操作(如:增删改查),希望触发某个动作,可以使用触发器. 1.创建触发器 create trigger trigger1_before_insert_tb1 before ...

  2. ASP.NET Core AutoWrapper 自定义响应输出

    前言 AutoWrapper是一个简单可自定义全局异常处理程序和ASP.NET Core API响应的包装.他使用ASP.NET Core middleware拦截传入的HTTP请求,并将最后的结果使 ...

  3. react 周期函数

    1.constructor():构造函数执行时间:组件被加载前最先调用,并且仅调用一次作用:定义状态机变量注意:第一个语句必须是super(props),正确定义状态机代码如下constructor( ...

  4. Samba centos7文件共享服务器搭建教程,可以更改任意需求操作配置详解。

    先安装软件   yum -y install samba-client 请看如下配置文件说明 [gongxiang]       comment = This is my shared folder  ...

  5. adb基本命令操作(四)

    一,基本操作命令 adb shell:进入手机系统 说明:root表示手机当前的操作用户,也是最高权限操作者 cd ,可以切换目录,执行cd /sdcard  表示手机内部的存储路径,也是表示内部存储 ...

  6. qq,新浪分享

    var _title,_source,_sourceUrl,_pic,_showcount,_desc,_summary,_site; // 新浪微博分享$('.xlwb-share').on('cl ...

  7. 最大子矩阵hdu1559(二维前缀和)

    最大子矩阵hdu1559 Problem Description 给你一个m×n的整数矩阵,在上面找一个x×y的子矩阵,使子矩阵中所有元素的和最大. Input 输入数据的第一行为一个正整数T,表示有 ...

  8. 快速搜索多个word、excel等文件中内容

    背景:要在多个文件甚至文件夹中找到文件中包含的某些内容 以win10举例: 1.打开一个文件夹 2.打开文件夹选项 3.配置搜索 4.搜索文件

  9. Python中判断输入字符串是否为数字的方法

    在写物理实验图像处理的脚本时,遇到了一个判断输入的字符串是否为数字的方法 最开始我的思路是这个 test = input() while test.isdigit(): # do something ...

  10. Vulnhub homeless靶机渗透

    信息搜集 nmap -sP 192.168.146.6 nmap -A -Pn 192.168.146.151 直接访问web服务. 大概浏览一下没发现什么,直接扫描下目录把dirb+bp. BP具体 ...