首页 > 系统相关 >Windows下安卓终端耗电分析工具BatteryHistorian环境搭建

Windows下安卓终端耗电分析工具BatteryHistorian环境搭建

时间:2025-01-12 15:04:40浏览次数:3  
标签:hyper Windows BatteryHistorian 下安卓 镜像 Docker 安装 下载

一、本文目的

网上有很多关于BatteryHistorian环境搭建的指导,很多是基于完整环境搭建进行的,基本的流程如下:

  1. 安装Go编程语言;
  2. 配置环境变量;
  3. 安装Git;
  4. 安装Python;
  5. 安装JAVA环境;
  6. 继续配置环境变量;
  7. 下载Battery Historian源码(需要解决各种墙的问题);
  8. 运行Battery Historian(同样会遇到墙的问题);

关是安装各种环境就要耗费大量的时间和精力。
本文是基于windows10环境结合Docker容器快速搭建BatteryHistorian环境的过程,参考了网上相关的文章(见底部参考资料)。
因为是基于容器搭建,省去了前面1-7的步骤,对于希望能快速搭建环境专注分析与解决问题的朋友能起到一定的帮助。

友情提醒
虽然基于Docker我们很快就能把环境跑起来,但是踩坑,填坑的过程依然会有一点点挑战,欢迎有兴趣的小伙伴一起学习和交流。

二、前置知识及所需准备

2.1.前置知识

容器: Containers
用于运行镜像服务的Linux简化系统;

镜像: Images
打包安装好相应运行环境及业务应用的压缩包(包括GO,Python运行环境等),运行时会加载到Containers中运行;

端口映射: Port(s)
容器内运行的服务需要对宿主机提供访问时,需要先对端口进行映射,建立起两台服务器之间的虚拟通道。

2.2.前置准备

  • 下载Docker Desktop Installer(链接见底部参考资料:Docker下载及安装)

001-Docker下载.png

  • 下载wsl_update_x64(链接见底部参考资料:WSL2 Linux 内核更新包)

image.png


三、操作过程

3.1安装Docker Desktop

  1. 两个选项都勾选上

image.png

  1. 首次启动Docker

image.png

  1. 根据提示下载WSL

如果上一章节的前置准备对应的包你已经下载好,可以直接执行安装,如果未下载,可以根据以下提示步骤引导进入下载安装

image.png

image.png

  1. 安装完成

安装完成后,如果提示窗没有关闭,可以点击"Restart"刷新界面
image.png

首次进入,此时你的Docker容器与镜像列表都是空的。

3.2获取镜像

完成以上程序的安装后,接下来就要来获取BatteryHistorian镜像文件了。

  1. 调出命令行窗口

image.png

  1. 查找BatteryHistorian镜像

输入以下命令:

docker search battery

001-搜索镜像.png

  1. 拉取镜像文件

选择一个battery-historian镜像,通过docker pull 命令拉取镜像,效果如下:

docker pull blystad/battery-historian

002-拉取镜像文件.png

整个镜像大约900M,下载的时长根据你家的网络情况而定。
当你看到:Downloaded newer image for XX时,就说明镜像文件已下载完成。

  1. 加载并启动镜像

切换到【Images】:image.png

image.png

image.png
这里的端口参数必须要填写,否则你会踩到第一个坑(详见下一章节)。

  1. 访问BatteryHistorian

004-端口映射配置后.png

在【Containers】下点击对应服务的更多菜单,选择**”Open with browser“**

image.png

至此,BatteryHistorian的环境搭建就已完成。
通过*”Browse“*按钮上传report文件,即可开始日志分析。

关于如果导日志,以及耗电分析的具体介绍,不在本文范围,有需要的朋友可以上网百度学习。

四、问题处理(踩坑、填坑)

问题一: 启动服务后,没有"Open with browser",无法访问

003-端口映射未配置导致没有通过浏览器访问的选项.png

问题原因:
服务启动时,没有配置对外映射的端口,导致宿主机无法直接访问虚拟服务器上的服务 。

处理方法:
删除服务,重新参照【加载并启动镜像】章节完成端口配置即可。

005-镜像端口映射配置.png

问题二: 浏览上传文件后,无法提交进行分析

006-问题-没有submit按钮.png

问题原因:
是JS相关依赖库无法加载导致。

处理方法:
翻墙后刷新即可(下次就不用翻墙了)。

问题三: 上传日志文件提交后,报错:Could not parse aggregated battery stats

image.png

问题原因:
运行环境下的go代码存在兼容性问题导致当前系统下执行报错。

处理方法:
对容器服务中的代码进行修改。

1.启动状态下,进入命令行窗口

image.png

2.安装vim工具(文件编辑工具,容器默认没有安装)

获取更新包

安装vim

  1. 修改GO代码

注:此操作涉及一些Linux基本操作,相关知识点建议根据需要进行百度,现学现用。以下罗列的操作命令供参考。

编辑指定文件:

vim checkinparse/checkin_parse.go

编辑状态下根据关键字定位:

/关键字

不保存退出:按下esc键后:

:q!

保存退出:按下esc键后:

:wq

使用vim修改对应代码文件
附:需要修改的文件内容

  1. 重启服务

image.png

重启后,重新刷新页面,上传日志文件,提交,即可看到相应的日志分析图形:
008-重启后修复.png

问题四: Docker无法启动

image.png

问题原因:
Docker与VMware冲突导致。
微软的hyper-V(虚拟化软件),使用docker就必须要启动hyper-V服务,当开始hyper-V启动后,VMware的Windows10会由于启动了hyper-V导致VMware的Windows10无法启动,产生冲突。

处理方法:

  1. 打开控制面板,点击卸载程序进入到程序和功能

image.png

  1. 点击启用或关闭Windows功能,进入Windows功能

image.png

  1. 勾选(Docker正常使用)取消勾选(Vmware正常使用)

image.png

  1. 命令行下启用Hyper-V(管理员身份运行)

bcdedit /set hypervisorlaunchtype auto(启用hyper-V)

  1. 重启电脑让以上设置生效。

注意:
因两者冲突,以上操作将会导致VMware不可用,如果想恢复让VMware正产使用,可逆向操作,同时,命令行关闭hyper-V服务:

bcdedit /set hypervisorlaunchtype off(关闭hyper-V)


五、参考资料

标签:hyper,Windows,BatteryHistorian,下安卓,镜像,Docker,安装,下载
From: https://blog.csdn.net/linqingf/article/details/145086373

相关文章

  • Windows10下安装vue2.0项目所需环境
    一、Node.js版本管理器NVM安装1.下载NVM安装包        nvm全英文也叫node.jsversionmanagement,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。目前最新版本v1.1.12......
  • 安卓怎么使用windows软件?一个软件教你手机秒变Windows,软件随意装、游戏任意玩
    软件介绍:“Winlator”是一个Android应用,可以通过使用Wine(使用过Linux的朋友对Wine应该不陌生)和Box86技术在Android设备上转译和运行Windows软件。下载Winlator最新版本,下载完成后,会在顶部看到一个横幅提示你打开应用。点击打开,然后选择安装以确认。下载地址:夸克网盘分......
  • MacOS删除多余的Windows启动项
    我的Macbook之前通过BootCamp安装了windows后又删除了,但是开机按住option键还是会出现Windows启动盘选项,虽然没什么影响但还是觉得有问题,搜索一番找到删除方法,记录一下。主要问题是windows在Mac的EFI分区添加了相关内容,而删除BootCamp及分区并未删除对应的记录,所以解决方案就是手......
  • windows下vscode使用msys2+zsh终端
    1.安装msys22.打开msys2安装zsh  pacman-Szsh3.安装oh-my-zshsh-c"$(curl-fsSLhttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"国内需要代理exporthttp_proxy=127.0.0.1:1001 4.集成进vscode在vscode设置中......
  • windows程序逆向工具汇总
    windows程序逆向工具汇总 1581 对于软件逆向,有称手的工具往往事半功倍,这里简单罗列出一些常用工具,不做详细介绍,供新手一个入门指引。    静态分析工具首推IDA,有了它其他的反汇编工具基本用不着。    动态调试工具有OD和windbg。调试应用层程序两个......
  • windows7老爷机安装蓝牙适配器遇到的坑
    连续买了3个蓝牙接收器,都无法在我的win7电脑上使用,最后询问小二、加上自己上网查询,最终解决。首先,安装蓝牙驱动,重启电脑。然后,说明书上说,右下角的系统托盘理应有个蓝牙图标,但是我这里不显示,所以,要另寻它法。右键点击网络图标,【打开网络和共享中心】看到蓝牙了,右键》属性 ......
  • Windows下Dll在Unity中使用的一般方式
    Windows下Dll在Unity中使用的一般方式Unity中虽然已经有广泛的库和插件,但是相较于C++的库生态而言,还是有一定的差距;因此本篇博文记录Windows下将C++函数打包成动态链接库在Unity中使用的一般方法。环境VisualStudio2019,Unity2022,Windows11,OpenCV说明Unity中有针对Wind......
  • [笔记] 使用 Jenkins 和 Nginx 实现前端项目的持续集成与部署 (CICD) : 从 GitLab 拉
    在现代软件开发中,持续集成与持续部署(CI/CD)已经成为提高开发效率、保证代码质量的重要手段。对于前端项目来说,如何快速、稳定地将代码从开发环境推送到生产环境,是一个关键问题。本文将详细介绍如何使用Jenkins和Nginx实现前端项目的CI/CD流程,确保每次代码提交都能自动......
  • 在 Rider 中使用 C# 创建 Windows 窗体应用 Winforms
    1,创建项目newsolution创建一个解决方案2,打开设计器在Form1.cs上右键打开设计器认识一下Rider的界面参考微软官方的例子,添加如下属性:注:这里Listbox的大小设置成120,94失败,默认的是120,89。可以将DrawMode改为OwnerDrawVariable,就可以更改大小,但是要重写......
  • Omnissa Dynamic Environment Manager 2412 - 个性化动态 Windows 桌面环境管理
    OmnissaDynamicEnvironmentManager2412-个性化动态Windows桌面环境管理Simplifymanagementofuserprofiles,environmentsettings,andpoliciesacrossdesktopsandapps.请访问原文链接:https://sysin.org/blog/omnissa-dynamic-environment-manager/查看最新版......