当前位置: 首页 > news >正文

Winscope在aosp 13/14/15版本的使用总结

背景:

经常有学员朋友会问到关于Winscope相关的一些使用问题,这块本来之前也分享过比较多的文章,这些文章主要涉及aosp13,14,15版本的。
学员们涉及的问题主要有如下几个:

1、每个版本的Winscope应该如何使用,每个版本都有差异,搞不明白应该怎么样

2、Winscope是否可以用于windows呢?

3、Winscope的版本直接兼容原则是怎么样的?

各个版本Winscope使用方式汇总:

aosp13版本:

抓取方式1,adb 命令方式离线抓取Winscope数据:

1、启用抓取windows和sf数据WindowManager:adb shell cmd window tracing startSurfaceFlinger:adb shell su root service call SurfaceFlinger 1025 i32 12、停用抓取WindowManager: adb shell cmd window tracing stopSurfaceFlinger:adb shell su root service call SurfaceFlinger 1025 i32 03、获取抓取pb文件WindowManager: adb pull /data/misc/wmtrace/wm_trace.pb wm_trace.pbSurfaceFlinger:adb pull /data/misc/wmtrace/layers_trace.pb layers_trace.pb

抓取方式2,手机上设置开启抓取按钮
手机直接设置中开启相关抓取按钮,文章窗口

https://blog.csdn.net/learnframework/article/details/129432374

抓取方式3,html在线抓取Winscope数据
打开html后,会有提示,要基于aosp源码执行对应的python既可以

在这里插入图片描述

test@test:~/aosp$ python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py

在这里插入图片描述

使用查看Winscope方式

直接使用html进行查看既可以:

直接在aosp源码的如下目录有html文件进行打开

prebuilts/misc/common/winscope/winscope.html

aosp14版本:

抓取方式:

抓取方式基本和aosp13没有大的差异可以完全适用参考

使用查看方式:

这个asop14以后aosp源码不会再自带Winscope的html,需要大家aosp源码进行编译,编译参考下面文章
android 14版本的winscope编译使用-手把手教你编译成功不报错

编译出来了html后,14版本是可以直接使用html的,所以可以共享编译html给别人直接chrome浏览器打开。

aosp15版本:

抓取方式:
adb方式抓取方式

这块和老版本有较大差异,adb方式抓取方式(这个请购买了马哥ShellTransition课程中有说明)。

aosp手机界面抓取抓取方式,参考如下:

安卓aosp15手机上如何离线获取winscope文件

html在线抓取和老版本一样

使用查看方式:
这块其实也是和14一样,参考14如何编译的html,但是15版本哪怕编译出来了html,也无法直接传递给别人使用,要传递html给其他人使用还需要参考如下文章:

aosp15上winscope离线html如何使用?

Windows系统是否可以使用Winscope?

这个Winscope其实本质上是就是一个网页,所以关于Winscope在Windows的使用有如下结论:

1、Winscope的数据获取后,只是查看分析完全可以使用html在chrome浏览器进行打开

2、抓取数据方式,一般不可以使用html在线抓取方式,因为无法成功执行如下winscope_proxy.py 的python脚本

总结:
windows可以正常使用Winscope进行相关分析,只是不支持在线实时抓数据,需要使用adb抓取或者手机抓取到Winscope数据,导入html方式。

多个安卓版本兼容问题

兼容的原则如下:

1 高版本的Winscope相关功能支持低版本的安卓设备抓取和展示

因为Winscope这个网页软件肯定是会考虑老版本兼容的功能,所以一般Winscope网页是新的,是可以兼容抓取老版本安卓设备的Winscope数据,比如aosp 15版本Winscope支持抓取展示aosp13设备的数据。

2 低版本的Winscope相关功能一般不支持高版本的安卓设备

这里说的是一般并不是绝对,其实本质就是只要各个版本之间设备上抓取的Winscope的数格式差异不大可以兼容就可以,但是一般aosp13以后几个版本这块数据格式都有修改,所以13版本Winscope不支持抓取展示14,15设备版本数据。

总结就是Winscope这个网页或者软件版本一般不可以比设备版本低,当然如果两个版本差异比较小这种也是可以的。

下面举个案例:

下面以一个安卓设备版本是13
在这里插入图片描述
但是用aosp15的Winscope来进行抓取

在这里插入图片描述
抓取后结果如下:
在这里插入图片描述
可以发现确实aosp15版本是完全可以抓取和展示aosp13版本的设备数据。

文章来源:https://mp.weixin.qq.com/s/j7lzAurE2K5PBjMrjGcfCw

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

http://www.lryc.cn/news/579925.html

相关文章:

  • uni-app实现单选,多选也能搜索,勾选,选择,回显
  • uniapp 微信小程序水印
  • Vue中对象赋值问题:对象引用被保留,仅部分属性被覆盖
  • Stable Diffusion Web 环境搭建
  • 九、平台相关
  • Rust实战:生成酷炫链接相关玩法
  • 创客匠人创始人IP方法论:打破行业内卷的价值竞争路径
  • 商业秘密保卫战:客户信息保护的证据攻防之道
  • 版本控制器SVN
  • 棱光 PDF 工具箱:水印管理 + 格式转换 + 批量处理提升效率
  • Android View的绘制原理详解
  • 怎么限制某些IP访问服务器?
  • 基于AR和SLAM技术的商场智能导视系统技术原理详解
  • 基于dropbear实现嵌入式系统ssh服务端与客户端完整交互
  • 适用于 vue2、vue3 的自定义指定:v-int(正整数)
  • HDMI延长器 vs 分配器 vs KVM切换器 vs 矩阵:技术区别与应用场景
  • Django+DRF 实战:从异常捕获到自定义错误信息
  • VS中将cuda项目编译为DLL并调用
  • Excel 如何处理更复杂的嵌套逻辑判断?
  • Java并发性能优化|读写锁与互斥锁解析
  • openEuler 24.03 全流程实战:用 Ansible 5 分钟部署分布式 MinIO 高可用集群
  • 分布式集合通信--学习笔记
  • Data的时区格式BUG
  • 4 位量化 + FP8 混合精度:ERNIE-4.5-0.3B-Paddle本地部署,重新定义端侧推理效率
  • 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的颜色表达
  • 替代MT6701,3D 霍尔磁性角度传感器芯片
  • Python 机器学习核心入门与实战进阶 Day 2 - KNN(K-近邻算法)分类实战与调参
  • PyTorch实战(14)——条件生成对抗网络(conditional GAN,cGAN)
  • vue-39(为复杂 Vue 组件编写单元测试)
  • MySQL分布式ID冲突详解:场景、原因与解决方案