最近在做关于能耗方面的测试,看了一个月时间的论文,终于找到了一些新的思路,但是一个问题出现了,以至于
工作无法再进行下去。
在Android手机中,对于手机中的每个部件(cpu、led、gps、3g等等)运行时对应的能耗值都放power_profile.xml
文件中,而且系统的 设置-->电池-->使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数
的。Android手机如何获取power_profile.xml文件呢?接下来我们会详细介绍该问题的解决方法:
google官网对于power_profile.xml文件的介绍:http://source.android.com/devices/tech/power.html
步棸1:进入Android手机系统根目录,找到System文件并打开文件,找到framework文件并打开,找到framework-res.apk文件(/system/framework/framework-res.apk)。
步棸2:利用apktool工具将framework-res.apk反编译。
1.下载apktool。http://code.google.com/p/android-apktool/downloads/list
2.解压下载项,文件目录结构如图所示。
3.命令行执行apktool d E:\power_profile\framework-res.apk E:\power_profile\framework-res
步棸3:反编译后文件目录如下所示,power_profile----framework-res-----res----xml----power_profile.xml
我手机中的power_profile.xml文件如下所示(小米2s):
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">100</item>
<item name="bluetooth.active">142</item>
<item name="bluetooth.on">0.3</item>
<item name="bluetooth.at">35690</item>
<item name="screen.full">160</item>
<item name="wifi.on">4</item>
<item name="wifi.active">120</item>
<item name="wifi.scan">220</item>
<item name="dsp.audio">88</item>
<item name="dsp.video">88</item>
<item name="radio.active">300</item>
<item name="gps.on">170</item>
<item name="battery.capacity">1390</item>
<item name="radio.scanning">70</item>
<array name="radio.on">
<value>3</value>
<value>3</value>
</array>
<array name="cpu.speeds">
<value>192000</value>
<value>384000</value>
<value>432000</value>
<value>486000</value>
<value>540000</value>
<value>594000</value>
<value>648000</value>
<value>702000</value>
<value>756000</value>
<value>810000</value>
<value>864000</value>
<value>918000</value>
<value>972000</value>
<value>1026000</value>
<value>1080000</value>
<value>1134000</value>
<value>1188000</value>
</array>
<item name="cpu.idle">2.8</item>
<array name="cpu.active">
<value>66.6</value>
<value>84</value>
<value>90.8</value>
<value>96</value>
<value>105</value>
<value>111.5</value>
<value>117.3</value>
<value>123.6</value>
<value>134.5</value>
<value>141.8</value>
<value>148.5</value>
<value>168.4</value>
<value>168.4</value>
<value>168.4</value>
<value>168.4</value>
<value>168.4</value>
<value>168.4</value>
</array>
</device>