windows系统上aosp15上winscope离线html如何使用?

背景:

aosp15上的如何使用Winscope前面已经有分享过相关的blog,这块其实和aosp14没啥大的差别,具体可以看如下3个文章:
手把手教你aosp14编译Winscope
安卓aosp15手机上如何离线获取winscope文件

文章中也说明在aosp15如果直接使用编译好的离线html是有问题的,无法正常显示抓取的Winscope文件。针对这样一个问题对于有些同学来说还是很不友好,因为很可能他们不想搭建node相关的环境,那么针对 aosp15上Winscope离线的html是否真的不可以使用呢?

对于ubuntu系统前面已经有相关文章分享过了:

程序员偷懒神器:aosp15上winscope离线html如何使用?

今天主要要分享一下很多学员朋友使用Windows操作系统办公同学,也就是Windows上如何使用aosp15的Winscope离线版本(马哥编译安卓15的Winscope离线版本相关文件,学员可以vip群里获取 )。

这个问题的解决还得感谢我们有前端背景学员朋友"小周佩奇i"提供的相关方案,下面来分享一下aosp15上winscope离线html如何使用。

无法使用离线html原因

1、直接文件方式打开html

2、导入对应Winscope包发现画面没有反应,其实是报错了,具体报错情况如下:

bash 复制代码
'Worker': Script at 'file:///media/test/49a0eb6b-f410-4eed-9e0a-952e3c75d2b2/home/test/aosp15/development/tools/winscope/dist/prod/engine_bundle.js' cannot be accessed from origin 'null'.
    at initWasm (wasm_engine_proxy.ts:24:20)
    at parser_factory_ParserFactory.initializeTraceProcessor (parser_factory.ts:131:7)
    at parser_factory_ParserFactory.createParsers (parser_factory.ts:63:39)
    at TracePipeline.loadUnzippedArchive (trace_pipeline.ts:210:57)
    at async TracePipeline.loadFiles (trace_pipeline.ts:72:37)
    at async Mediator.loadFiles (mediator.ts:238:7)
    at async mediator.ts:123:43
    at async AppFilesUploaded.visit (winscope_event.ts:71:21)
    at async Mediator.onWinscopeEvent (mediator.ts:119:67)
    at async AppComponent.onFilesUploaded (app_component.ts:531:25)

报错大概原因(引用学员朋友写的):
就是sf layer 是bp的方式存储,js使用bp应该是要通过wasm来,可以理解为js通过一个标准接口来执行native代码,类似jni

不过我们可能不关心原因,因为这块毕竟属于前端的知识,我们更关心应该怎么解决

Windows上解决html直接导入Winscope文件报错

上面报错的核心解决办法就是需要安装一个http-serser,并且启动http-server。所以核心就是要安装http-server,它的安装有多种方式这里主要介绍npm安装方式。

其他一些安装方案(感谢vip学员小周佩奇的回答):

bash 复制代码
一、Node 生态
http-server(最常用,零配置)
安装
npm i -g http-server        # 全局安装一次即可
使用
cd 你的项目目录
http-server -p 8080 -o      # -o 自动打开浏览器
特点:支持 gzip、CORS、HTTPS、自动刷新(--watch)等,体积小。
serve(Vercel 出品,零配置,UI 漂亮)
npm i -g serve
serve -l 8080 .
特点:自动识别单页应用(history fallback),终端里会给出一个漂亮的本地地址列表。
live-server(带自动刷新)
npm i -g live-server
live-server --port=8080
特点:改完文件浏览器自动刷新,适合写 demo 或静态博客。
极简"自己写三行"
如果环境不允许全局安装,可在项目里:
npm init -y
npm i http-server
npx http-server -p 8080
或者把脚本写进 package.json:
"scripts": { "dev": "http-server -p 8080 -o" }
以后 npm run dev 即可。
二、Python 生态(pip)
http.server(Python 3 内置,无需 pip)
python -m http.server 8080
缺点:只支持最基本的 GET、HEAD,没有 CORS、HTTPS。
进阶:pip install 一些"带功能"的小工具
a) simple-http-server
pip install simple-http-server
simple-http-server -p 8080
特点:支持 CORS、HTTPS、上传、自动刷新(--watch)。
b) livereload
pip install livereload
在项目根建一个 serve.py:
from livereload import Server
server = Server()
server.watch('*.html')
server.serve(root='.', port=8080)
然后 python serve.py,改完文件自动刷新。

这里主要分为一下几个步骤:
1、下载windows版本nodejs及安装

nodejs下载地址:
https://www.nodejs.com.cn/download.html

直接下载后一路点击确定安装就可以了。

2、确定nodejs安装后npm是否可以用

使用Windows的cmd工具,输入npm命令有如下输出既可以:

3、使用npm安装http-server

在cmd中执行如下命令进行安装

bash 复制代码
npm i -g http-server

4、启动http-server

cmd中使用如下命令启动:

bash 复制代码
http-server -p 8080 -o

启动后,一定要使用chrome浏览器输入127.0.0.1:8080会类似如下本地文件界面,一路点击到自己离线html的文件夹prop路径

一路点击自己Winscope离线html文件夹,然后展示结果如下:

导入一个adb抓取的sf的Winscope文件:

更多framework实战相关干货,请关注下面"千里马学框架"

相关推荐
liyi_hz20087 小时前
O2OA(翱途) V10.1 即将发布|功能再升级,安全再加固,协同更高效!
java·javascript·windows·开源软件
TimeFine9 小时前
AI 编码工作流的设计
android·ai编程
七牛云行业应用9 小时前
DeepSeek Harness(dsh)安装完整指南:Windows、macOS、Linux 三平台 + 桌面端与 Web 端全覆盖
linux·windows·macos·ai·ai编程
骑着蜗牛撵大象3279 小时前
C++20 协程 × 屏障:手写一个 co_await 版 Barrier,让等待不再钉死线程
android·c++20·协程·并发编程·co_await·屏障同步
夜雪一千10 小时前
标题特殊符号数据清洗实战:解决HTML实体、零宽字符、Emoji乱码踩坑
前端·html
山东孙燕姿11 小时前
设备台账重构:从一张表到三层模型
android·java·网络·低代码·重构·rxjava
起个名字都难啊12 小时前
visual studio C/C++空项目修改为CUDA c++
c++·windows·visual studio
蒸鱼Yuzheng12 小时前
移动端 CPU 调度分析:线程亲和性、大小核迁移与卡顿
android·perfetto·性能分析·线程优化·cpu调度
booboosui12 小时前
安卓唤醒词:12 维 MFCC 加 DTW,阈值 1.8
android
传奇开心果12 小时前
Compose Multiplatform 共享边界实战:架构契约、互操作同步与可回退设计
android·kotlin