Android系统信息获取
2018-01-04 15:07
274 查看
由于Android手机的可开发性,导致市场上各种不同配置、不同价格的Android手机应有尽有。因此,“拼配置”也成了Android手机厂家的一个宣传重点。类似“安兔兔”的手机跑分软件可以非常清楚地检查手机系统的配置信息和软硬件信息,下面我们就来看看如何获取这些信息。
要获取系统的配置信息,通常可以从以下两个方面获取。
android.os.Build
SystemProperty
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。
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 属性
通过android.os.Build类,可以直接获得一些Build提供的系统信息,而通过System.getProperty("XXXX"),我们可以访问到系统的属性值,代码如下所示。
在实例程序中获取的信息与上面列举出来的属性值相同,这里就不重复了,程序运行效果如下图所示。
运行示例程序后,可以看到,我们已经获取到了相当多的系统信息。那么这些系统信息最根本的来源又是在哪儿呢?记得在分析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命令来查看这些节点文件,来获取更多的系统信息。
要获取系统的配置信息,通常可以从以下两个方面获取。
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命令来查看这些节点文件,来获取更多的系统信息。
相关文章推荐
- Android开发之系统信息【1】——获取Android手机中SD卡存储信息
- Android开发之获取系统所有进程信息。
- Android获取系统储存以及内存信息(一)
- Android Build类获取系统信息
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用
- android 调用系统方法获取应用程序信息 如缓存大小
- android 获取手机系统信息
- Android系统获取GPU、屏幕信息
- Android 获取系统或SDCARD剩余空间信息
- Android系统信息(内存、cpu、sd卡、电量、版本)获取
- Android获取系统已安装应用软件程序(apk)信息
- Android-获取系统的应用程序的信息
- 通过android代码获取android系统的imei、手机型号、手机品牌、android系统的版本号、sdk版本号等信息
- Android开发获取系统中已安装程序信息的方法
- Android系统信息(内存(RAM)、cpu、sd卡、电量、版本)获取
- Android中获取系统内存信息以及进程信息
- android分页查询获取系统联系人信息
- android系统信息(内存、cpu、sd卡、电量、版本)获取
- Android获取手机型号,系统版本,App版本号等信息
- Android:StatFs类 获取系统/sdcard存储空间信息