android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)

系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的

1、我的手机中power_profile.xml的内容: HTC t328w

代码如下:

<?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>245000</value>
        <value>384000</value>
        <value>460800</value>
        <value>499200</value>
        <value>576000</value>
        <value>614400</value>
        <value>652800</value>
        <value>691200</value>
        <value>768000</value>
        <value>806400</value>
        <value>844800</value>
        <value>998400</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>
    </array>
</device>

2、获取的方法: 先从手机上获取framework-res.apk,然后使用apktool工具反编译

该文件位于手机目录: /system/framework/framework-res.apk,在linux下进入终端,执行一下命令:


代码如下:

adb  pull  /system/framework/framework-res.apk ./

这就将 framework-res.apk 拉到本地pc上了,下面使用apktool进行反编译。

代码如下:

dell@OptiPlex-7010:~/apktool/apktool-install-linux-r05-ibot$ ls
aapt  apktool  apktool.jar  framework-res.apk
dell@OptiPlex-7010:~/apktool/apktool-install-linux-r05-ibot$ ./apktool d framework-res.apk newapk
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
dell@OptiPlex-7010:~/apktool/apktool-install-linux-r05-ibot$ ls
aapt  apktool  apktool.jar  framework-res.apk  newapk
dell@OptiPlex-7010:~/apktool/apktool-install-linux-r05-ibot/newapk/res/xml$ ls
apns.xml                         password_kbd_qwerty_shifted.xml  storage_list.xml
autotext.xml                     password_kbd_qwerty.xml          time_zones_by_country.xml
eri.xml                          password_kbd_symbols_shift.xml   zzz_cdmaapns.xml
password_kbd_extension.xml       password_kbd_symbols.xml         zzz_m_pdp_limit.xml
password_kbd_numeric.xml         power_profile.xml
password_kbd_popup_template.xml  preferred_time_zones.xml

power_profile.xml在framework-res.apk的目录:/res/xml/power_profile.xml

(0)

相关推荐

  • Android编程之文件读写操作与技巧总结【经典收藏】

    本文实例总结了Android文件读写操作.分享给大家供大家参考,具体如下: 在Android中的文件放在不同位置,它们的读取方式也有一些不同. 本文对android中对资源文件的读取.数据区文件的读取.SD卡文件的读取及RandomAccessFile的方式和方法进行了整理.供参考. 一.资源文件的读取: 1) 从resource的raw中读取文件数据: String res = ""; try{ //得到资源中的Raw数据流 InputStream in = getResources

  • Android编程之文件的读写实例详解

    本文实例分析了Android编程之文件的读写方法.分享给大家供大家参考,具体如下: Android的文件读写与JavaSE的文件读写相同,都是使用IO流.而且Android使用的正是JavaSE的IO流,下面我们通过一个练习来学习Android的文件读写. 1.创建一个Android工程 Project name:File     BuildTarget:Android2.2     Application name:文件读写     Package name:test.file     Cre

  • Android编程中File文件常见存储与读取操作demo示例

    本文实例讲述了Android编程中File文件常见存储与读取操作.分享给大家供大家参考,具体如下: MainActivity文件代码如下: package example.com.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; im

  • Android持久化技术之文件的读取与写入实例详解

    本文实例分析了Android持久化技术之文件的读取与写入操作.分享给大家供大家参考,具体如下: 1.文件存储 (1)在Android的持久化技术中,文件存储是最基本的一种数据存储方式. (2)对存储的内容部做任何处理,原样存储到文件中. (3)Context提供了文件写入与读取的方法,openFileOutput:写入到文件:openFileInput:从文件中读取. (4)文件写入时模式有多种:比如是覆盖写入还是追加写入等. (5)写入的文件默认存储在/data/data/报名/files/目

  • Android开发实现Files文件读取解析功能示例

    本文实例讲述了Android开发实现Files文件读取解析功能.分享给大家供大家参考,具体如下: package com.example.file; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widg

  • Android学习笔记-保存文件(Saving Files)

    Android设备有两种文件存储区域: 内部存储和外部存储 ("internal" and "external" storage). 这名字来自早期Android,那时大多数Android设备提供两种存储方式:内置的非易失的内存(内部存储)和可移动的存储例如micro SD卡(外部存储). 一些设备将永久内存分为内部和外部两部分,因此即使没有外部存储,依旧有两种存储空间.不管有没有外部存储,API的方法都是一样的. 如我的手机小米2S是16G大小的RAM,不支持SD

  • Android文件选择器ExFilePicker的使用方法

    在新版的android中(如Android 7.0+),文件选择由于权限限制,Uri变化,文件资源路径格式改版等等,变得比较复杂起来,比如,得在Androidmanifest配置FileProvider完了还得写xml目录下的文件path这些等等.一些第三方的文件选择器,就算没有上面这些动作,一般也得在Androidmanifest写几个Activity.而ExFilePicker则无需上面的繁琐操作,一不需要在Androidmanifest里面定义FileProvider,二不需要写xml文件

  • Android编程实现文件浏览功能的方法【类似于FileDialog的功能】

    本文实例讲述了Android编程实现文件浏览功能的方法.分享给大家供大家参考,具体如下: 最近正在弄上传文件,当时想怎么能实现fileDialog的功能呢,打开文件,浏览文件,然后选择文件呢,查了好多资料,也看了不少论坛,都说里面没有这个功能,那真是奇怪了,里面没有这个功能,当然就需要自己动手添加这个功能了. 首先说一下这个文件浏览的简单实现原理: 首先选择一个目录做为根目录,然后打开此目录,常用的就是使用File这个类了,如下: File file=new File(path); 然后可以通过

  • Android 读写文件方法汇总

    一. 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) 复制代码 代码如下: String res = "";try{InputStream in = getResources().openRawResource(R.raw.bbi);//在\Test\res\raw\bbi.txt,int length = in.available();byte [] buffer = new byte[length];in.read(buffer);//res = E

  • Android第三方文件选择器aFileChooser使用方法详解

    aFileChooser是android平台上的一个第三方文件选择器,其在github上的项目主页是:https://github.com/iPaulPro/aFileChooser aFileChooser实现了在Android平台上高度可定制化的文件选择功能,aFileChooser在自己的项目代码中使用也比较简单. 写一个简单例子加以说明. (1) 首先要配置Androidmanifest.xml文件: <activity android:name="com.ipaulpro.afi

  • Android中文件读写(输入流和输出流)操作小结

    1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在

随机推荐