DevCheck-lib/BuildInfo数据库字段对应关系.md
2025-12-24 14:16:27 +08:00

11 KiB
Raw Blame History

BuildInfo 与数据库字段对应关系

数据库表 phone.build 字段映射

已完全实现的字段

数据库字段 BuildInfo 属性 Android API 说明
brand brand Build.BRAND 品牌
model model Build.MODEL 机型
product product Build.PRODUCT 产品名称 (如 x1seea)
sdkInt versionSdkInt Build.VERSION.SDK_INT SDK 版本
androidVersion versionRelease Build.VERSION.RELEASE Android 版本
buildId id Build.ID 构建 ID (如 AP3A.240905.015.A2)
bootloader bootloaderVersion Build.BOOTLOADER Bootloader 版本
display display Build.DISPLAY 显示 ID
buildUser user Build.USER 构建用户
incremental incremental Build.VERSION.INCREMENTAL 增量版本
buildHost host Build.HOST 构建主机
buildFingerprint fingerprint Build.FINGERPRINT 构建指纹
kernelVersion kernelVersion System.getProperty("os.version") 内核版本
securityPatch securityPatch Build.VERSION.SECURITY_PATCH 安全补丁日期
releaseDate buildDate Build.TIME 构建时间

新增的字段(三星设备特定)

数据库字段 BuildInfo 属性 系统属性 说明
rilProductCode rilProductCode ro.ril.product_code RIL 产品代码
rilOfficialCscver rilOfficialCscver ro.ril.official_cscver RIL 官方 CSC 版本
cscSalesCode cscSalesCode ro.csc.sales_code CSC 销售代码
countryISO countryISO ro.product.locale.region 国家/地区 ISO 代码

📝 需要在应用层处理的字段

数据库字段 说明 建议获取方式
buildIdGD 人工生成的构建 ID 应用层生成
incrementalGD 人工生成的增量版本 应用层生成
isManual 是否人工录入 应用层标记
sourceId 数据源 ID 应用层管理
sourceTable 数据源表 应用层管理
updatedOn 更新时间 数据库自动生成
dataStatus 数据状态 (1为准确可用) 应用层管理

数据库表 phone.hardware_new 字段映射

已完全实现的字段

数据库字段 BuildInfo/其他模块 属性 Android API 说明
brand brand Build.BRAND 品牌
model model Build.MODEL 设备型号
device device Build.DEVICE 设备代号
board board Build.BOARD 主板名称
manufacturer manufacturer Build.MANUFACTURER 制造商
hardware hardware Build.HARDWARE 硬件标识
formFactor formFactor 复合判断 设备类型 (Phone/Tablet)
linuxArchitecture kernelArchitecture System.getProperty("os.arch") Linux 架构

⚠️ 部分实现或需要其他模块的字段

数据库字段 对应模块 说明
marketingName 未实现 需要从设备数据库或 API 获取
shortName 未实现 需要从 marketingName 处理生成
systemonChip ⚠️ CpuInfo 需要从 CPU 信息推导 SoC 名称
screenSize ⚠️ DisplayInfo 屏幕尺寸(英寸)
screenSizecm ⚠️ DisplayInfo 屏幕尺寸(平方厘米)
maxWidthPixels ⚠️ DisplayInfo 最大宽度像素
maxHeightPixels ⚠️ DisplayInfo 最大高度像素
dpi ⚠️ DisplayInfo 物理 DPI
maxRefreshRate ⚠️ DisplayInfo 最大刷新率
ramType ⚠️ MemInfo RAM 类型 (LPDDR5 等)
totalMemoryGB ⚠️ DeviceInfo/MemInfo 总内存
totalStorageGB ⚠️ StorageInfo 总存储空间
supportEsim ⚠️ NetworkInfo 是否支持 eSIM
simSlotCount ⚠️ NetworkInfo SIM 卡槽数量
batteryDesignCapacity ⚠️ BatteryInfo 电池设计容量
batteryWirelessSupported ⚠️ BatteryInfo 是否支持无线充电
cellularGen ⚠️ NetworkInfo 最大网络类型 (3G/4G/5G)
maxWifiVersion ⚠️ NetworkInfo 最大 Wi-Fi 版本
bluetoothVersion ⚠️ BluetoothInfo 蓝牙版本
hasNFC ⚠️ 未实现 是否支持 NFC

📝 需要外部数据或人工处理的字段

数据库字段 说明 建议获取方式
boardGD 人工生成的主板名称 应用层生成
hardwareGD 人工生成的硬件标识 应用层生成
isFold 是否折叠机 需要外部数据库或规则判断
releasedDate 产品发布时间 需要外部数据库
weight 设备重量 需要外部数据库
releasedAndroidVersion 发布时 Android 版本 需要外部数据库
supportAndroidMaxVersion 最大支持 Android 版本 需要外部数据库
price 价格(美元) 需要外部数据库
sourceId 数据源 ID 应用层管理
updatedOn 更新时间 数据库自动生成

📋 BuildInfo.kt 已实现的完整字段列表

基本构建信息

  • fingerprint - 构建指纹
  • brand - 品牌
  • model - 机型
  • product - 产品名称
  • device - 设备代号
  • board - 主板名称
  • manufacturer - 制造商
  • hardware - 硬件标识
  • tags - 构建标签
  • type - 构建类型
  • buildDate - 构建日期
  • host - 构建主机
  • user - 构建用户
  • id - 构建 ID
  • display - 显示 ID

Android 版本信息

  • versionRelease - Android 版本号
  • versionCodename - 版本代号
  • versionSdkInt - SDK 版本
  • versionPreviewSdkInt - 预览版 SDK
  • securityPatch - 安全补丁级别
  • baseOs - 基础操作系统
  • incremental - 增量版本
  • releaseOrCodename - 版本号或代号
  • mediaPerformanceClass - 媒体性能等级
  • releaseOrPreviewDisplay - 版本显示字符串

RIL 和 CSC 信息(三星设备)

  • rilProductCode - RIL 产品代码
  • rilOfficialCscver - RIL 官方 CSC 版本
  • cscSalesCode - CSC 销售代码
  • countryISO - 国家/地区 ISO 代码

设备类型

  • formFactor - 设备类型 (Phone/Tablet)
  • isTablet - 是否为平板
  • isPhone - 是否为手机

JVM 信息

  • jvmName - JVM 名称
  • jvmVendor - JVM 供应商
  • jvmVersion - JVM 版本
  • jvmClassVersion - Java 类版本
  • jvmSpecificationName - Java 规范名称
  • jvmSpecificationVendor - Java 规范供应商
  • jvmSpecificationVersion - Java 规范版本

安全与内核信息

  • vendorSecurityPatchLevel - 厂商安全补丁
  • kernelVersion - 内核版本号
  • kernelCompleteVersion - 完整内核版本
  • kernelArchitecture - 内核架构
  • kernelName - 内核名称
  • kernelCommandLine - 内核命令行
  • bootloaderVersion - Bootloader 版本
  • radioVersion - 基带版本
  • procCpuInfo - CPU 信息
  • procMemInfo - 内存信息

分区信息

  • fingerprintedPartitions - 指纹分区列表

Treble 和系统更新

  • isTrebleEnabled - Treble 支持
  • trebleVersion - Treble 版本
  • isSeamlessUpdateSupported - 无缝更新支持
  • currentSlot - 当前活动插槽
  • isVirtualABEnabled - 虚拟 A/B 支持

Root 和安全

  • isRooted - Root 状态
  • seLinuxStatus - SELinux 状态
  • isDmVerityEnabled - dm-verity 状态

Google Play 服务

  • googlePlayServicesVersion - Play 服务版本
  • googlePlayServicesVersionCode - Play 服务版本代码
  • googlePlayStoreVersion - Play 商店版本
  • googleServicesFrameworkVersion - GSF 版本

系统工具

  • toyboxVersion - Toybox 版本
  • toolboxVersion - Toolbox 版本
  • busyboxVersion - BusyBox 版本

SSL/TLS

  • openSslVersion - OpenSSL 版本
  • boringSslVersion - BoringSSL 版本
  • tlsVersion - TLS 版本

语言和时区

  • systemLanguage - 系统语言
  • languageCode - 语言代码
  • country - 国家/地区
  • countryCode - 国家/地区代码
  • timeZone - 系统时区
  • timeZoneDisplayName - 时区显示名称
  • timeZoneOffset - UTC 偏移

开发者选项

  • isUsbDebuggingEnabled - USB 调试
  • isDevelopmentSettingsEnabled - 开发者选项
  • isUnknownSourcesEnabled - 未知来源安装

设备标识符

  • androidId - Android ID
  • serialNumber - 序列号
  • deviceUniqueId - 设备唯一 ID

🔍 缺失字段总结

phone.build 表

完全实现: 15/15 个核心字段 新增三星专用字段: 4/4 个 需应用层处理: 7 个buildIdGD, incrementalGD, isManual 等)

phone.hardware_new 表

完全实现: 8/8 个基本字段 需其他模块: ⚠️ 16 个DisplayInfo, NetworkInfo, BatteryInfo 等) 需外部数据: 10 个marketingName, releasedDate, price 等)


📊 使用示例

获取 build 表所需数据

val buildInfo = AndInfo.instance.build

val buildData = mapOf(
    "brand" to buildInfo.brand,
    "model" to buildInfo.model,
    "product" to buildInfo.product,
    "sdkInt" to buildInfo.versionSdkInt,
    "androidVersion" to buildInfo.versionRelease,
    "buildId" to buildInfo.id,
    "bootloader" to buildInfo.bootloaderVersion,
    "display" to buildInfo.display,
    "buildUser" to buildInfo.user,
    "incremental" to buildInfo.incremental,
    "buildHost" to buildInfo.host,
    "buildFingerprint" to buildInfo.fingerprint,
    "rilProductCode" to buildInfo.rilProductCode,
    "rilOfficialCscver" to buildInfo.rilOfficialCscver,
    "cscSalesCode" to buildInfo.cscSalesCode,
    "countryISO" to buildInfo.countryISO,
    "kernelVersion" to buildInfo.kernelVersion,
    "securityPatch" to buildInfo.securityPatch,
    "releaseDate" to buildInfo.buildDate
)

获取 hardware_new 表基本字段

val buildInfo = AndInfo.instance.build

val hardwareData = mapOf(
    "brand" to buildInfo.brand,
    "model" to buildInfo.model,
    "formFactor" to buildInfo.formFactor,
    "device" to buildInfo.device,
    "board" to buildInfo.board,
    "manufacturer" to buildInfo.manufacturer,
    "hardware" to buildInfo.hardware,
    "linuxArchitecture" to buildInfo.kernelArchitecture
)

总结

BuildInfo.kt 已实现

  • phone.build 表: 15/15 核心字段 + 4 个三星专用字段
  • phone.hardware_new 表: 8/8 基本字段
  • 额外功能: 60+ 个系统信息属性

需要其他模块支持

  • DisplayInfo: 屏幕相关字段
  • NetworkInfo: 网络和 SIM 卡相关字段
  • BatteryInfo: 电池相关字段
  • StorageInfo: 存储相关字段
  • BluetoothInfo: 蓝牙相关字段
  • MemInfo: 内存类型相关字段

需要外部数据源

  • marketingName市场名称
  • releasedDate发布日期
  • price价格
  • weight重量
  • 等规格参数需要从产品数据库获取

最后更新: 2025年12月24日
BuildInfo.kt 版本: 完整版