获取Android 设备信息——build.prop

获取Android设备相关信息

在Android开发中有时需要获取设备信息,一般可以通过ADB命令来获取设备build.prop文件中记录的设备信息,有时也需要在代码中获取这些信息,如下介绍两种可以使用的方法,获取设备相关信息。

build.prop文件

在Android系统中有一个类似Windows系统注册表的文件build.prop。这个文件内定义了系统初始(或永久)的一些参数属性、功能的开放等。通过调整/增加参数可以达到较调系统性能偏重点和附加功能开启的作用。
因此,如果需要获取设备信息,如设备名称、型号、默认分辨率等都可以从这个文件中读取;

adb获取设备信息

ADB,即 Android Debug Bridge,可以通过一些命令来控制Android手机,因此通过adb命令来获取设备信息的方式是十分方便的。
一下为一些常用的设备信息:
[查看设备信息]
[型号]
[电池状况]
[屏幕分辨率]
[屏幕密度]
[显示屏参数]
[android_id]
[IMEI]
[Android 系统版本]
[IP 地址]
[Mac 地址]
[CPU 信息]
[内存信息]
[更多硬件与系统属性]
adb命令如下:adb shell getprop,这个命令可以获取build.prop中的所有信息,如果需要获取其中的指定信息,可以在后面加上需要获取的id(姑且这个称呼),如:
adb shell getprop ro.product.model 设备名称
adb shell wm size 屏幕分辨率
adb shell wm density 屏幕密度
adb shell getprop ro.build.version.release Android系统版本
还有很多信息,可以参考adb shell getprop的输出来找;

Android Jni编程C层获取设备信息

最近一个项目需要在库中获取设备名称,用于判断是否为目标设备,从而控制该库是否可以运行,这时就需要在代码中获取设备信息,可以考虑如下方法:

// An highlighted block
static bool isDeviceNameOK(){
	char deviceName[PROP_VALUE_MAX];
	__system_property_get("ro.product.name", deviceName);
	LOGD("isDeviceNameOK: devices name is %s", deviceName);
	char targetDeviceName[] = "DeviceName";
	int ret =  strcmp(targetDeviceName, deviceName);
	LOGD("isDeviceNameOK: strcmp ret = %d", ret);
	if(0 == ret){
		return true;
	}else{
		return false;
	}
}

isDeviceNameOK函数用于判断目前设备名称与目标设备是否一致,其中targetDeviceName为目标设备名字,__system_property_get为Linux下获取设备信息的方法,"ro.product.name"即为设备名称id(姑且这么称呼);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值