记录 Android Battery Historian 安装使用中的一个问题

·  阅读 813
记录 Android Battery Historian 安装使用中的一个问题

阅读本文大约需要2.1分钟。

背景

在之前的文章《APP耗电量测试白皮书》中详细讲解了如何做APP的功耗测试及原理,今天这里主要是想跟大家分享一下最近使用过程中遇到的一个问题:无法正常提交bugreport文件。

在讲这个问题前先来回顾一下 Android Battery Historian 的安装方式,我之前是通过docker的方式安装的:

                                    
                                    

docker run --restart=always -d -p 9999:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999


                                    
                                    复制代码

以上这个命令需要翻墙才可以正常安装,如果没有翻墙能力可以执行下面的这个命令,采用的是国内的镜像:

                                            
                                            

docker run --restart=always -d -p 9999:9999 registry.cn-hangzhou.aliyuncs.com/xyz10/android-battery-historian:stable-3.0


                                            
                                            复制代码

我要说的那个问题就是在提交bugreport文件后页面无响应,打开Chrome的console面板如下:

解决方案

通过Google得知,是这个服务器上的d3.js库被下架了🤷‍♂️

这里我们可以使用自己编译源码的方式来解决。

步骤

主要参考 https://github.com/google/battery-historian 中的 Building from source code 来操作:

在安装配置完所需要的Go、Git、Python、Java环境后即可执行下面的编译命令:

                                                                        
                                                                        

下面这个命令执行时间非常长
                                                                            ,跟网速有关,我
                                                                                是等了一下午才执行完
                                                                        


                                                                        

go get -d -u github.com/google/battery-historian/...


                                                                        
                                                                        

cd $GOPATH/src/github.com/google/battery-historian


                                                                        

下面这个命令同样非常耗时,我是等了一个晚上才编译完


                                                                        

go run setup.go


                                                                        
                                                                        复制代码

但是编译会出现报错如下:

此时执行下面的命令:

                                                                                            
                                                                                            

cd third_party/closure-library/


                                                                                            

git reset --hard v20170409


                                                                                            

cd -


                                                                                            

go run setup.go


                                                                                            
                                                                                            复制代码

这样就没有报错了,继续按照步骤执行:

go run cmd/battery-historian/battery-historian.go [--port <default:9999>]复制代码

就可以看到下面的状态,表明可以正常使用了:

想要明白些道理,遇见些有趣的事 —— 离岛

分类:
Android
标签:
收藏成功!
已添加到「」, 点击更改