Android 强制开启 webview debugger 模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 强制开启 webview debugger 模式相关的知识,希望对你有一定的参考价值。

参考技术A 我们在 APP 中测试一些 H5 页面时,常常需要借助 chrome 中 inspect 工具来检查元素和日志定位,该工具需要 App 开启 debugger 模式

但一般正式发布的 App 是关闭 debugger 模式的,这时需要借助工具强制开启

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)

apk 地址: https://github.com/android-hacker/VirtualXposed/releases/download/0.18.2/VirtualXposed_0.18.2.apk

打开后类似一个 Android 桌面启动程序, 我们可以看到已经有 Xposed 框架安装在上面了,并且也是激活的,当然这里我们暂时还不需要管它

长按虚拟桌面会出现添加应用选项,然后我们可以从系统已安装的 APP 中克隆一个或者从内部存储中直接安装我们要测试的 APK 包

WebViewDebugHook

apk 地址: https://github.com/feix760/WebViewDebugHook/blob/master/app/release/app-release.apk?raw=true

安装完后可以在 VirtualXposed 中打开 Xposed 添加 WebViewDebugHook 模块

在 Chrome 浏览器中输入: chrome://inspect

此时则可以查看 APP 中的 H5 页面了

客户端相关知识学习之Android H5交互Webview实现localStorage数据存储

前言

最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识

webView开启支持H5 LocalStorage存储

有些时候我们发现写的本地存储没有起作用,那是因为默认WebView没有开启LocalStorage存储。开启方法如下

首先得有Webview控件:

有人问我是不是需要写布局文件,不写行不行,现在我就告诉你们,不写没问题,需要写就写不写直接创建New一个也行。 下面我就介绍一个,我new一个Webview实现localStorage。

  WebView mywebView = new WebView(this);
 mywebView.getSettings().setJavaScriptEnabled(true); // 允许javascript执行
 mywebView.getSettings().setDomStorageEnabled(true);// 打开本地缓存提供JS调用,至关重要,开启DOM缓存,开启LocalStorage存储
  mywebView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);// 实现8倍缓存
  mywebView.getSettings().setAllowFileAccess(true);
 mywebView.getSettings().setAppCacheEnabled(true);
 String appCachePath = getApplication().getCacheDir().getAbsolutePath();
 mywebView.getSettings().setAppCachePath(appCachePath);
 mywebView.getSettings().setDatabaseEnabled(true);

上面这些settings是实现localStorage需要的存储条件。

参考

Android H5交互Webview实现localStorage数据存储

以上是关于Android 强制开启 webview debugger 模式的主要内容,如果未能解决你的问题,请参考以下文章

android webview 强制横屏

Android:强制 WebView 到某个高度(或触发 div 的滚动)

Android WebView html5 视频强制全屏

当我使用 WebView loadUrl 函数时,Android Studio 应用程序被强制关闭

强制横向时Android应用程序(嵌入式WebView)崩溃

如何强制 Android Webview 在 DOM 更改上重新绘制?