前提:
userdebug版本已经获取root (adb root, adb remount)
或eng版本
脚本
echo "">/data/local/tmp/battery.log
while [ 0 -eq 0 ];
do
local Temperature=$(dumpsys battery | grep temperature |busybox awk -F: '{ print $2 }' | busybox tr -d [:blank:] | busybox tr -d '\r' | busybox tr -d '\n' | busybox awk '{print $1/10}')
local Voltage=$(dumpsys battery| grep voltage | busybox awk -F: '{ print $2 }' | busybox tr -d [:blank:] | busybox tr -d '\r' | busybox tr -d '\n' | busybox awk '{print $1/1000}' )
local Level=$(dumpsys battery| grep level | busybox awk -F: '{ print $2 }' |busybox tr -d [:blank:] |busybox tr -d '\r' | busybox tr -d '\n')
echo "$(date +%m%d%H%M%S) ${Temperature} ${Level} ${Voltage}" >> /data/local/tmp/battery.log
sleep 9.9
done
步骤:
- 下载battery.sh
- 放入到手机中
adb push battery.sh /data/local/tmp/
- 放入到手机中
- 改变文件属性为可执行
adb shell chmod 777 /data/local/tmp/battery.sh - 执行
adb shell nohup /data/local/tmp/battery.sh - 从PC拔掉usb cable执行你的测试,比如充电测试
- 测试完毕后重新插入usb cable到pc
- 导出log文件
adb pull /data/local/tmp/battery.log battery.txt
结果分析:
结果如下
0829140159 32.5 49 3.848
0829140209 32.5 49 3.848
0829140219 32.5 49 3.848
0829140229 32.5 49 3.848
0829140239 32.5 49 3.848
第一列:
日期(月日时分秒)
第二列:电池温度Temperature, 单位摄氏度
第三列:电池Level, 电池百分比
第四列: 电池电压, 单位V
曲线绘制:
batterymon.sh -g -d /tmp
-d /tmp 是我的battery.txt所在的目录