设备信息与 Android build.prop 文件
#什么是 build.prop 文件
路径: /system/build.prop
说明: build.prop 是 Android 系统中的一个重要的属性文件,记录了系统的设置和改变。
主要信息类型:ro.build.*(编译信息),ro.product.*(设备信息),ro.config.*(默认设置信息),dalvik.vm.*(虚拟机信息)等。
获取 Android 设备信息的命令
一种是通过访问 /system/build.prop 文件进行查看
打印 /system/build.prop 所有内容
adb shell cat /system/build.prop
通过 grep 筛选特定内容
adb shell cat /system/build.prop | grep ro.product
也可以用 ADB 的命令查看
显示所有信息
adb shell getprop
显示特定信息
adb shell getprop ro.product.model
筛选信息
adb shell getprop | grep product
部分 build.prop 信息说明
参数 说明 例子
> ro.build.display.full_id 显示标识,标识显示设备的完整版本号 ro.build.display.full_id=A31u_11_A.04_160613
> ro.product.model 机器型号 ro.product.model=A31u
> ro.product.device 设备名 ro.product.device=A31u
> ro.product.name=A31u 机器名 ro.product.name=A31u
> ro.build.id=KTU84P 编译标识 ro.build.id=KTU84P
> ro.build.display.id 显示标识 ro.build.display.id=KTU84P release-keys
> ro.build.version.incremental 版本增加说明 ro.build.version.incremental=eng.root.20160613
> ro.build.version.sdk 编译时使用的 SDK 版本 ro.build.version.sdk=19
> ro.build.version.codename 版本编码名称 ro.build.version.codename=REL
> ro.build.version.release 公布的版本(一般用于手机信息的系统版本) ro.build.version.release=4.4.4
> ro.build.date 系统编译时间 ro.build.date=Mon Jun 13 21:38:06 CST 2016
> ro.build.date.utc 系统编译时间(UTC版本) ro.build.date.utc=1465825086
> ro.build.type 系统编译类型 ro.build.type=user
> ro.build.user 系统用户名 ro.build.user=root
> ro.build.host 系统主机名 ro.build.host=ubuntu-121-114
> ro.build.tags 系统标记 ro.build.tags=release-keys
> ro.product.model 机器型号 ro.product.model=msm8916_32
> ro.product.brand 机器品牌 ro.product.brand=OPPO
> ro.product.name 机器 ro.product.name=msm8916_32
> ro.product.device 设备名 ro.product.device=msm8916_32
> ro.product.board 主板名 ro.product.board=msm8916 ro.product.cpu.abi CPU
> 支持的架构 ro.product.cpu.abi=armeabi-v7a ro.product.cpu.abi2 CPU
> 支持的架构 ro.product.cpu.abi2=armeabi
> ro.product.manufacturer 制造商 ro.product.manufacturer=OPPO
> ro.product.locale.language 系统语言 ro.product.locale.language=zh
> ro.product.locale.region 系统所在区域 ro.product.locale.region=CN
> ro.wifi.channels WiFi的网络信道(空表示自动识别) ro.wifi.channels=
> ro.board.platform 主板板卡型号 ro.board.platform=msm8916 debug.sf.hw 硬件 GPU
> 加速(1:开启,0:关闭) debug.sf.hw=1 dalvik.vm.heapsize Dalvik
> 虚拟内存大小 dalvik.vm.heapsize=36m dalvik.vm.heapstartsize Dalvik
> 虚拟内存初始堆栈大小 dalvik.vm.heapstartsize=12m
> dalvik.vm.heapgrowthlimit Dalvik
> 虚拟内存堆栈增长极限 dalvik.vm.heapgrowthlimit=128m dalvik.vm.heapsize Dalvik
> 虚拟内存最大堆栈大小 dalvik.vm.heapsize=256m
> dalvik.vm.heaptargetutilization Dalvik
> 堆指标利用效率/堆内存利用百分比 dalvik.vm.heaptargetutilization=0.75
> net.bt.name 蓝牙网络中显示的名字 net.bt.name=Android
> ro.config.alarm_alert 默认闹钟铃声 ro.config.alarm_alert=alarm_005.ogg
> ro.config.ringtone 默认响铃铃声 ro.config.ringtone=ringtone_001.ogg
> ro.config.ringtone_sim2 默认响铃铃声(卡2) ro.config.ringtone_sim2=ringtone_005.ogg
> ro.config.notification_sound 默认通知铃声 ro.config.notification_sound=notification_001.ogg
> ro.config.notification_sim2 默认通知铃声(卡2) ro.config.notification_sim2=notification_009.ogg
> ro.com.android.dateformat 默认时间格式 ro.com.android.dateformat=MM-dd-yyyy
JNI 获取设备信息
知道一些字段的信息,那么就可以通过 JNI 的一些接口访问部分信息
(不需要繁琐的用 JNI 调用 Java 接口提取设备信息)
#include
...
{
char info[256];
__system_property_get("ro.build.version.sdk", info); // 获取 SDK 版本。提取的信息会存入 info 中。
...
__system_property_get("ro.product.model", info); // 获取机型。提取的信息会存入 info 中。
...
__system_property_get("ro.serialno", info); // 获取序列号。提取的信息会存入 info 中。
}
转自
作者:ZONE画派
链接:https://www.jianshu.com/p/098b8809d85d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Copyright © 2022 摩洛哥世界杯_直播世界杯决赛 - dgaida.com All Rights Reserved.