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实战相关干货,请关注下面"千里马学框架"

相关推荐
IccBoY20 小时前
将idea快捷打开加入到鼠标右键
windows·intellij-idea·idea
WXDcsdn20 小时前
联想台式机更换硬盘(Win10转Win7)后鼠标和键盘无法使用
运维·windows·it运维
曾经的三心草21 小时前
JavaEE初阶-多线程2
android·java·java-ee
zt1985q21 小时前
本地部署 Jupyter 并实现外部访问(Windows 版本)
运维·服务器·windows
v***56521 小时前
Spring Cloud Gateway
android·前端·后端
顾安r1 天前
11.21 脚本 网页优化
linux·前端·javascript·算法·html
合作小小程序员小小店1 天前
web开发,在线%药店管理%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·mysql·jdk·html·intellij-idea
J总裁的小芒果1 天前
el-table 扁平化数据后合并单元格
windows
傻啦嘿哟1 天前
Python实现PDF文档高效转换为HTML文件:从基础到进阶的完整指南
python·pdf·html
苦逼的搬砖工1 天前
基于 easy_rxdart 的轻量响应式与状态管理架构实践
android·flutter