认识 WeAppDev
WeAppDev 是一个可以脱离微信运行小程序与小游戏的 Android 应用。
它基于腾讯官方的 WMPF 运行时,把小程序与小游戏的运行环境做成一个独立 APK。安装之后,你输入 AppID 就能打开小程序或小游戏;再连上电脑,就能用 Chrome DevTools 给业务代码下断点、看请求。
不需要 Root,不需要 Xposed,运行它的设备上也不需要装微信。
WeAppDev.apk
├── WMPF 运行时 扫码登录 / 打开小程序 / 最近使用 / 多账号
├── DevTools Chrome 断点、作用域、调用栈
├── Native 调试 JSAPI 中转层的请求与响应
├── Network 抓包、脚本、重写、WebSocket
└── 插件系统 一个 HTML = 面板 + 逻辑层 + 渲染层它解决什么问题
想确认一个小程序把参数发去了哪,通常要先装开发者工具、扫码登录、连同一个 Wi-Fi、核对版本号。等连上了,Network 面板还是空的 —— 因为小程序发请求不走 WebView,网页那一层根本拦不到。
WeAppDev 把这几件事收进一个 APK:
| 你想做的事 | 怎么做 |
|---|---|
| 不装微信也能跑小程序 / 小游戏 | 打开 App,输入 AppID |
| 给业务代码下断点 | Chrome 连 :9400,在 Sources 里点行号 |
| 看 JSAPI 发了什么 | Native 调试,请求/响应成对看 |
| 看明文 HTTP 请求 | 网络调试,点开任意一条 |
| mock 一个接口 | Network 规则,改响应或写脚本 |
| 给小程序加功能 | 装一个 HTML 插件 |
六个最常用的场景
1. 手机上直接跑小程序
打开 App → 输入 AppID → 打开。
不用装微信,最近使用、多账号切换都在。第一次需要微信扫一次码,会话保存在本地,约 24 小时。
2. 像调网页一样下断点
手机连电脑:
adb forward tcp:9400 tcp:9400Chrome 打开:
devtools://devtools/bundled/js_app.html?ws=127.0.0.1:9400/devtools/appservice在 Sources 里找到业务脚本,行号上点一下就是断点。停住之后可以看闭包、调用栈、this,也能在 Console 里直接改变量。
3. 看 JSAPI 的请求与响应
打开「Native 调试」,在小程序里点一次登录、定位、支付。
列表里会出现 getLocation、login、requestPayment 这样的组合,点开就是请求体、响应体、appid、序号。适合查「这个操作到底发了什么」。
4. 看明文网络请求
打开「网络调试」,列表里是方法、URL、状态码、大小、耗时。
点开任意一条看请求头、响应头、响应体。WebSocket 的上下行帧也会按方向显示。
5. 改包 / mock
Network 页支持两种方式:
- 重写规则:不写代码,按 URL / 方法命中,替换响应、改 Body、重定向;
- 脚本:写
onRequest/onResponse,用 JS 改请求和响应。
比如把下单接口里的 "price": 39.9 换成 "price": 0.01,不用改小程序一行代码。
6. 做一个自己的插件
插件就是一个 HTML 文件。装进去之后,它可以:
- 在浮窗面板里做一个工具;
- 在逻辑层读
wx数据、注册能力; - 在渲染层改页面 DOM;
- 订阅网络、存储、Native 事件。
App 内置的三个例子:页面文字编辑、云网关捕获、定位修改。
三条调试链路
| 链路 | 看什么 | 入口 |
|---|---|---|
| DevTools | 业务 JS、断点、作用域、调用栈 | Chrome / App 设置 |
| Native | JSAPI 中转层请求与响应 | 开发者工具 → Native调试 |
| Network | HTTP / WS、脚本、重写 | 开发者工具 → 网络调试 |
三条链路互不依赖,可以同时开。
车机也能用
车机不方便登录微信?WeAppDev 是普通 APK,装上去就能跑小程序;车机默认横屏,大屏自动放大。
详情见 车机与大屏。
它不做什么
WeAppDev 只负责小程序自己这一层。它不是通用抓包工具,看不到系统流量或别的 App 的请求;也不会接管你的微信账号。
使用边界
项目基于腾讯官方发布的 WMPF 运行时。仅供个人学习与研究使用,请勿商用、请勿大规模分发,也不要用于未授权的小程序。会话有效期约 24 小时,过期需要重新扫码。