WebViewPP icon indicating copy to clipboard operation
WebViewPP copied to clipboard

微信小程序能支持远程调试吗?

Open strange-qwq opened this issue 2 years ago • 42 comments

微信版本:8.0.22

strange-qwq avatar May 16 '22 02:05 strange-qwq

可以。

WankkoRee avatar May 16 '22 02:05 WankkoRee

b401b69a9c4e695ececa5f8efe79f19 云端只有这两个配置,vconsole是注入进来了的,但chrome://inspect页面没有任何显示,请问如何配置呢

strange-qwq avatar May 16 '22 02:05 strange-qwq

inspect 默认使用 adb 进行探测设备,请确保设备已通过有线或无线连接到电脑 adb。

WankkoRee avatar May 16 '22 02:05 WankkoRee

inspect 默认使用 adb 进行探测设备,请确保设备已通过有线或无线连接到电脑 adb。

image image

手机已经连接上了

strange-qwq avatar May 16 '22 02:05 strange-qwq

请前往 v2.0.0 下载测试包进行功能性测试。

WankkoRee avatar May 16 '22 02:05 WankkoRee

请前往 v2.0.0 下载测试包进行功能性测试。

你是说用cn.wankkoree.test.tbsx5-1.0_1-release测试一次吗

strange-qwq avatar May 16 '22 02:05 strange-qwq

都可以,只是测试一下远程调试功能,建议 webview 。

WankkoRee avatar May 16 '22 02:05 WankkoRee

都可以,只是测试一下远程调试功能,建议 webview 。

似乎用cn.wankkoree.test.webview-1.0_1-release测试也不行,直接vconsole都没了,在APP内右上角打开debug并重启后才在chrome://inspect页面中显示出来(以下截图为安装并配置云端hook后重启应用截取) 907641e1faf7a817b44ee7cbe0b1a60 bff15b5dd3865c6b452d1a93ff96de0 image

strange-qwq avatar May 16 '22 02:05 strange-qwq

模块未正常工作,请提供 xposed 中的模块日志。

WankkoRee avatar May 16 '22 03:05 WankkoRee

模块未正常工作,请提供 xposed 中的模块日志。

是这个吧 XD https://1456158721.lanzouh.com/ihNKA04ww2gh

strange-qwq avatar May 16 '22 03:05 strange-qwq

经检查:

  1. 日志中未发现测试 app 相关日志,推测为未在LSPosed中勾选测试 app。
  2. 日志中发现微信相关日志,主要问题为 未找到 hook 点。

WankkoRee avatar May 16 '22 04:05 WankkoRee

经检查是云端规则库收录错误,已更正,请重新拉取云端规则。

WankkoRee avatar May 16 '22 04:05 WankkoRee

经检查:

  1. 日志中未发现测试 app 相关日志,推测为未在LSPosed中勾选测试 app。
  2. 日志中发现微信相关日志,主要问题为 未找到 hook 点,请提供一下你手机上提取的微信安装包。

1、不好意思忘了勾,勾了后chrome://inspect页面识别到了; 2、微信是酷安更新的;

strange-qwq avatar May 16 '22 04:05 strange-qwq

嗯,微信那个不是你的问题,已经修复了,重新拉取规则即可。

WankkoRee avatar May 16 '22 04:05 WankkoRee

嗯,微信那个不是你的问题,已经修复了,重新拉取规则即可。

我重新拉取并重启微信了,但现在chrome://inspect里面还是没有我打开的小程序 image db2342072dc694a5f571bbbcc8f6496

strange-qwq avatar May 16 '22 05:05 strange-qwq

请提供一份干净的日志:

  1. 清空日志
  2. 结束微信进程
  3. 打开微信
  4. 打开网页
  5. 保存日志

WankkoRee avatar May 16 '22 05:05 WankkoRee

请提供一份干净的日志:

  1. 清空日志
  2. 结束微信进程
  3. 打开微信
  4. 打开网页
  5. 保存日志

新的日志:https://1456158721.lanzouh.com/iphfu04x34za

strange-qwq avatar May 16 '22 05:05 strange-qwq

日志中未发现相关问题,推测模块正常工作。

请安装模块的dev版本,以获取更详细的日志。

WankkoRee avatar May 16 '22 06:05 WankkoRee

日志中未发现相关问题,推测模块正常工作。

请安装模块的dev版本,以获取更详细的日志。

https://1456158721.lanzouh.com/iqMSS04x6q3i

strange-qwq avatar May 16 '22 06:05 strange-qwq

经分析可能是由于微信采用了多渲染引擎造成的,我的测试机调用了XWeb混合渲染引擎中的XWalk子渲染引擎,所以我认为只需要完成对XWalk的相关 Hook 即可,但你的设备中运行的微信可能并不是采用XWalk子渲染引擎,所以造成功能未生效。

我会尽快完成对微信XWeb渲染引擎中所有子渲染引擎的适配,请等待。

WankkoRee avatar May 16 '22 12:05 WankkoRee

经分析可能是由于微信采用了多渲染引擎造成的,我的测试机调用了XWeb混合渲染引擎中的XWalk子渲染引擎,所以我认为只需要完成对XWalk的相关 Hook 即可,但你的设备中运行的微信可能并不是采用XWalk子渲染引擎,所以造成功能未生效。

我会尽快完成对微信XWeb渲染引擎中所有子渲染引擎的适配,请等待。

好的,麻烦了;

另外,我也是一名安卓的初学者,会一定的前端代码,现在我想做一个Android套壳APP来学习,前端用的是基于vue3的vite框架,但苦于Android端的系统自带的webview版本太低不兼容新的js语法,百度又只看到x5内核这种解决方案,所以目前我是网上下了一个新版的Android webview来装到系统上临时解决的,我想问问大佬有无其它的解决方案?在哪里能了解到比如你说“XWeb”、“XWalk”等渲染引擎的知识呢?

strange-qwq avatar May 16 '22 12:05 strange-qwq

常见渲染引擎:

  • 腾讯TBS X5接入文档,接入方便,用户基数特别多,接入开发者多,并且比较轻量,当前Chromium内核版本大概在89左右,应该能满足大部分前端新特性。
  • 阿里UC U4接入文档,接入不太方便,需要安装相关IDE插件并且申请和 app 绑定的 key,api 文档几乎找不到,用户基数挺多(毕竟阿里系都在用),接入开发者基本上没有,全是阿里自家以及几个国字号 app 在用,兼容性不太好,可能会因为系统版本、CPU架构等原因退化为系统渲染引擎,当前Chromium内核版本大概在69左右,一部分前端新特性应该是用不上了,而且打包出来的包挺大的,如果目标是轻量级 app 的话慎选。
  • 英特尔CrossWalk:又叫XWalk,几年前停止维护了,用户基数挺多(主要是微信用户太多了),接入开发者几乎没有,国内基本上就微信在用它的魔改版本,但是并没有对原版进行维护,所以原版几乎是不可用的状态(Android 10 以上闪退),当前Chromium内核版本大概在53左右,挺多前端新特性都用不了,并且打包出来的包也挺大的,不建议接入。
  • 微信XWeb:由XWalkTBS X5Pinus(这个不了解)、系统渲染引擎组合而成,根据系统具体情况选用渲染引擎,但是似乎是个私有项目,并没有找到相关的接入文档,所以大概没戏。

所以综上,相对其他几个渲染引擎的那么多毛病来说,腾讯的这个基本上算是唯一选择了。

WankkoRee avatar May 16 '22 12:05 WankkoRee

常见渲染引擎:

* 腾讯`TBS X5`:[接入文档](https://x5.tencent.com/docs/access.html),接入方便,用户基数特别多,接入开发者多,并且比较轻量,当前`Chromium`内核版本大概在`89`左右,应该能满足大部分前端新特性。

* 阿里`UC U4`:[接入文档](https://www.alibabacloud.com/help/zh/mobile-platform-as-a-service/latest/add-uc-sdk),接入不太方便,需要安装相关IDE插件并且申请和 app 绑定的 key,api 文档几乎找不到,用户基数挺多(毕竟阿里系都在用),接入开发者基本上没有,全是阿里自家以及几个国字号 app 在用,兼容性不太好,可能会因为系统版本、CPU架构等原因退化为系统渲染引擎,当前`Chromium`内核版本大概在`69`左右,一部分前端新特性应该是用不上了,而且打包出来的包挺大的,如果目标是轻量级 app 的话慎选。

* 英特尔`CrossWalk`:又叫`XWalk`,几年前停止维护了,用户基数挺多(主要是微信用户太多了),接入开发者几乎没有,国内基本上就微信在用它的魔改版本,但是并没有对原版进行维护,所以原版几乎是不可用的状态(Android 10 以上闪退),当前`Chromium`内核版本大概在`53`左右,挺多前端新特性都用不了,并且打包出来的包也挺大的,不建议接入。

* 微信`XWeb`:由`XWalk`、`TBS X5`、`Pinus`(这个不了解)、系统渲染引擎组合而成,根据系统具体情况选用渲染引擎,但是似乎是个私有项目,并没有找到相关的接入文档,所以大概没戏。

所以综上,相对其他几个渲染引擎的那么多毛病来说,腾讯的这个基本上算是唯一选择了。

那国外大厂呢

strange-qwq avatar May 16 '22 13:05 strange-qwq

国外因为谷歌商店能正常访问且基本上都是手机默认应用商店的原因,系统渲染引擎是能正常更新的,所以绝大多数都是直接调用了系统渲染引擎,并没有国内这种迫不得已的变通方案。

WankkoRee avatar May 16 '22 13:05 WankkoRee

国外因为谷歌商店能正常访问且基本上都是手机默认应用商店的原因,系统渲染引擎是能正常更新的,所以绝大多数都是直接调用了系统渲染引擎,并没有国内这种迫不得已的变通方案。

草,我就说怎么Google搜不到

strange-qwq avatar May 16 '22 13:05 strange-qwq

更新了2.1.0APP后重新配置了hook规则,但似乎chrome://inspect里面还是无法调试小程序 XD image image

strange-qwq avatar Jun 20 '22 01:06 strange-qwq

添加一条“hookXWebView”规则,规则参数默认,保存规则后重启微信,查看弹出的toast消息提示使用的内核是哪个。

Screenshot_20220620101655.png

WankkoRee avatar Jun 20 '22 02:06 WankkoRee

hookXWebView规则在高版本微信上不可用,请更新v2.1.1版本以修复规则(需重新保存一遍这条规则)。

另外,原先采用toast形式汇报内核情况的方案不再可用,改为输出到日志,请在日志中查询Current XWeb Engine is字样来查看内核情况。

WankkoRee avatar Jun 20 '22 03:06 WankkoRee

LSPosed-Bridge: [EnableWebViewDebugging<com.tencent.mm>][I]--> Current XWeb Engine is XWalk + Pinus

是这个吧

strange-qwq avatar Jun 20 '22 03:06 strange-qwq

是的,Pinus暂时不知道是个啥,正常情况下是单内核XWalk的,我有空会去看看Pinus的内容。

所以你设备上模块无法在微信内工作是正常情况。

WankkoRee avatar Jun 20 '22 03:06 WankkoRee