记录国内Windows环境下搭建 Battery Historian遇到的问题

2023-11-08 23:10

本文主要是介绍记录国内Windows环境下搭建 Battery Historian遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者是在国内搭建的测试环境,没有用梯子。安装Battery History工具主要参考Battery Historian 工具开源地址:(https://github.com/google/battery-historian),作者这里只记录问题不阐述单搭建环境的流程
根据gitbub介绍,Battery History工具的安装有两种方式:
1、通过安装Docker环境来安装
2、通过编译gitbub上面的源码来安装

方式一:

搭建参考https://github.com/google/battery-historian,安装docker之后,拉取镜像,运行容器,在打开本地网页的时候,会很慢,查看监控台也会有十六个左右的报错,点击上传文件之后,页面没有反应,也没有出现submit按钮,都是由于缺少js文件,或者使用的几个js文件加载失败造成的;由于网络问题,没有买VPN的情况下,这种搭建方式弃用了。

方式二:

这个稍微麻烦一点,搭建参考https://github.com/google/battery-historian,搭建完成后,我个人觉得用着舒服。 这种方式也会出现缺少js文件,或者使用的几个js文件加载失败的问题,都是可以找到文件替换的,替换之后重新编译运行,所以使用没有问题。

1、缺少historian-optimized.js文件
下载地址
链接;pan.baidu.com/s/1kFdUVM6ICT_3Uh1ui14J3w 提取码:3fnn
下载后放到\go\src\github.com\google\battery-historian\compiled目录下
下载地址
2、加载js文件失败
在这里插入图片描述
在这里插入图片描述

解决:

1、替换链接地址

到\src\github.com\google\battery-historian\templates下替换base.html里的内容
下载替代文件地址:https://www.bootcdn.cn/
BootCDN 是 Bootstrap 中文网支持并维护的前端开源项目免费 CDN 服务,致力于为 Bootstrap、jQuery、Angular、Vuejs 一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务。BootCDN 所收录的开源项目主要同步于 cdnjs 仓库。

例如:
jquery-ui.css加载failed,需要在CDN中搜索jqueryui关键字,找到对应1.11.4版本号的jquery-ui.css链接地址,复制,在base.html中替换。
在这里插入图片描述
在这里插入图片描述

2、重新编译运行

github上写到:
you must always run battery-historian from inside the /src/github.com/google/battery-historian directory:
所以,先到Go\src\github.com\google\battery-historian下,再执行go run cmd/battery-historian/battery-historian.go,允许访问网络。
在这里插入图片描述
作者操作到这里已经可以正常使用,如果还有其他问题,请自行搜索解决。

上传文件
在这里插入图片描述
加载分析图
在这里插入图片描述
测试过程中用到的一些命令:

docker ps -a (运行和停止状态的容器查看)
docker ps (查看容器列表)
docker stop container-name/container-id(停止容器)
docker start container-name/container-id (启动容器)
docker rm container-id (删除单个容器)
docker rm $(docker ps -a -q) (删除所有容器)

you must always run battery-historian from inside the /src/github.com/google/battery-historian directory:
cd D:\GoWorkspace\Go\src\github.com\google\battery-historian(到库文件夹下)
go run cmd/battery-historian/battery-historian.go(编译运行)

生成电量报告文件
adb shell dumpsys batterystats --enable full-wake-history (启用完整唤醒锁报告)
adb shell dumpsys batterystats --reset (重置battery统计状态,重置命令结束后必须、必须、必须断开usb连接,开始使用APP测试)
adb bugreport bugreport.zip (待测试结束之后,用获取报告命令导出统计文件包)
adb shell dumpsys batterystats --disable full-wake-history (停止记录详细信息,必须、必须、必须要停止记录)

这篇关于记录国内Windows环境下搭建 Battery Historian遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373012

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH