android build.prop解析

来源:互联网 发布:java服务器端编程 编辑:程序博客网 时间:2024/06/05 06:39

转来两篇不错的文章


build.prop文件详细赏析(CM/MIUI)

http://www.miui.com/article-239-1.html


分析,读取 android build.prop

 

转自http://blog.sina.com.cn/s/blog_7452896e0101393y.html

android系统属性build.prop,所在位置:out\target\product\kylin\system\build.prop
用数据线连接android 设置,进入调试模式 (在android的设置--应用程序--开发--USB调试)
开始--运行--CMD
C:\Documents and Settings\Administrator>adb shell
# cd system
cd system
# ls
ls
app build.prop fonts lib usr
bin etc framework media xbin

可以看到build.prop,这个就是系统的属性表,若要COPY出来,这样操作:
比如COPY到D盘的 leo目录下
C:\Documents and Settings\Administrator>adb pull system/build.prop d://leo
120 KB/s (0 bytes in 1925.000s)

C:\Documents and Settings\Administrator>



可用记事本打开查看

若要在java代码里读取里面的属性值,则需用到android.os.SystemProperties这个类,此类未开放(未提供给SDK API),
此类具体位置:frameworks\base\core\java\android\os\SystemProperties.java
能够在frameworks里面使用,
比如在所有文件policies\base\phone\com\android\internal\policy\impl\LockScreen.java
里使用 final boolean isMonkey = SystemProperties.getBoolean("ro.monkey", false);

也能够在android自带的APP 里使用,比如在Settings app里使用
packages\apps\Settings\src\com\android\settings\deviceinfo\Status.java
//leo added for KYLIN-529
if(SystemProperties.get("ro.product.name").equals("surfone_citic"))

程序的实现看这里:
try {
Class<?> classType = Class.forName("android.os.SystemProperties");
// Method[] method = classType.getDeclaredMethods();
//
// for(int i = 0 ;i<method.length;i++){
// Log.i("test", method[i].getName());
// }
//
Method getMethod = classType.getDeclaredMethod("get", new Class<?>[]{String.class});
String value = (String) getMethod.invoke(classType, new Object[]{"YOUKEY"});
Log.i("test", value);

0 0