您的位置:首页 > 移动开发 > Android开发

Android系统信息获取

2018-01-04 15:07 274 查看
        由于Android手机的可开发性,导致市场上各种不同配置、不同价格的Android手机应有尽有。因此,“拼配置”也成了Android手机厂家的一个宣传重点。类似“安兔兔”的手机跑分软件可以非常清楚地检查手机系统的配置信息和软硬件信息,下面我们就来看看如何获取这些信息。

        要获取系统的配置信息,通常可以从以下两个方面获取。

android.os.Build
SystemProperty

1.android.os.Build

        android.os.Build类里面的信息非常丰富,它包含了系统编译时的大量设备、配置信息,下面列举了一些常用的信息,如下所示。

Build.BOARD//主板
Build.BRAND//Android系统定制商
Build.SUPPORTED_ABIS//CPU指令集
Build.DEVEICE//设备参数
Build.DISPLAY//显示屏参数
Build.FINGERPRINT//唯一编号
Build.SERIAL//硬件序列号
Build.ID//修订版本列表
Build.MANUFACTURER//硬件制造商
Build.MODEL//版本
Build.HARDWARE//硬件名
Build.PROFUCT//手机产品名
Build.TAGS//描述Build的标签
Build.TYPE//Builder类型
Build.VERSION.CODENAME//当前开发代码
Build.VERSION.INCREMENTAL//源码控制版本号
Build.VERSIONRELEASE//版本字符串
Build.VERSION.SDK_INT//版本号
Build.HOST//Host值
Build.USER//User名
Build.TIME//编译事件
        上面列表中有一些没有注释的值,它们来自系统RO值中,这些值时手机生产厂商配置的只读的参数值,更具厂家配置的不同而不同,接下来,看看另一个存储设置软硬件信息的类——SystemProperty。

2.SystemProperty

        SystemProperty包含了许多系统配置属性值和参数,很多信息与上面通过android.os.Build获取的值时相同的,下面同样列举了一些常用的信息。

os.version//OS版本
os.name//OS名称
os.arch//OS架构
user.home//home属性
user.name//name属性
user.dir//DIR属性
user.timezone//时区
path.separator//路径分隔符
line.separator//行分隔符
file.separator//文件分隔符
java.vendor.url//java vender URL属性
java.class.path//java Class 路径
java.class.version//java Class 版本
java.vendor//java vender属性
java.version//java版本
java.home//java home 属性

3.Android系统信息实例

        下面通过一个简单的实例,来帮助我们了解这些系统信息。

        通过android.os.Build类,可以直接获得一些Build提供的系统信息,而通过System.getProperty("XXXX"),我们可以访问到系统的属性值,代码如下所示。

String board = Build.BOARD;
String brand = Build.BRAND;

String os_version = System.getProperty("os.version");
String os_name = System.getProperty("os.name");


        在实例程序中获取的信息与上面列举出来的属性值相同,这里就不重复了,程序运行效果如下图所示。

        

 

         运行示例程序后,可以看到,我们已经获取到了相当多的系统信息。那么这些系统信息最根本的来源又是在哪儿呢?记得在分析Android系统目录的时候,我们曾经提到过一点,在system/build.prop文件中,包含了很多RO属性值,打开命令行窗口,进入/system目录,通过cat build.prop命令查看文件信息,结果如图所示。

              


        这里我们看见了很多前面通过android.os.Build所获取到的信息,同时,在adb shell中,还可以通过getprop来获取对应属性的值,如图所示。

         


        除了上面所说的两个方法,Android系统还有另外一个非常重要的目录来存储系统信息——/proc目录,在adb shell中进入/;roc目录,通过ll命令查看文件信息,如下图所示。

           


        可以看到,这里包含了非常多的系统信息,使用cat cpuinfo命令打开cpuinfo文件,显示内容如下。

 


        可见,这里的信息比通过Build获得的信息更加丰富,因此,如果想要获得更加精确、丰富的系统信息,可以通过执行adb shell命令来查看这些节点文件,来获取更多的系统信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: