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

本文目的

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

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

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

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

前置知识及所需准备

前置知识

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

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

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

前置准备

  • 下载Docker Desktop Installer(链接见底部参考资料:Docker下载及安装)
001-Docker下载.png
  • 下载wsl_update_x64(链接见底部参考资料:WSL2 Linux 内核更新包)
image.png

操作过程

一、安装Docker Desktop

  1. 两个选项都勾选上
image.png
  1. 首次启动Docker
image.png
  1. 根据提示下载WSL

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

image.png
image.png
  1. 安装完成

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


image.png

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

二、获取镜像

完成以上程序的安装后,接下来就要来获取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)

四、参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容