DeviceInfo Adaptation
DeviceInfo parameters and mapping APIs
| Parameter | API | Description |
|---|---|---|
| const.product.devicetype | const char* GetDeviceType(void) | Obtains the device type. |
| const.product.manufacturer | const char* GetManufacture(void) | Obtains the device manufacturer. |
| const.product.brand | const char* GetBrand(void) | Obtains the device brand. |
| const.product.name | const char* GetMarketName(void) | Obtains the device marketing name. |
| const.build.product | const char* GetProductSeries(void) | Obtains the device series name. |
| const.product.model | const char* GetProductModel(void) | Obtains the device authentication model. |
| const.software.model | const char* GetSoftwareModel(void) | Obtains the device software model. |
| const.product.hardwareversion | const char* GetHardwareModel(void) | Obtains the device hardware model. |
| const.product.hardwareprofile | const char* GetHardwareProfile(void) | Obtains the device hardware profile. |
| ohos.boot.sn | const char* GetSerial(void) | Obtains the serial number (SN) of the device. |
| const.product.software.version | const char* GetDisplayVersion(void) | Obtains the software version visible to users. |
| const.product.bootloader.version | const char* GetBootloaderVersion(void) | Obtains the bootloader version of the device. |
| const.product.udid | int GetDevUdid(char *udid, int size) | Obtains the UDID of the device through DeviceInfo or through calculation if the attempt to obtain the UDID through DeviceInfo fails. |
| const char *AclGetSerial(void) | Obtains the SN of the device (with ACL check). | |
| int AclGetDevUdid(char *udid, int size) | Obtains the UDID of the device (with ACL check). | |
| ohos.boot.hardware | const char* GetChipType(void) | Obtains the CPU chip model of the device. |
| persist.startup.bootcount | int GetBootCount(void) | Obtains the number of times that the device has been powered on. If the operation fails, -1 is returned. |
DeviceInfo Source
Adaptation of OHOS Fixed-value Parameters
-
OHOS fixed-value parameters:
const.ohos.version.security_patch const.ohos.releasetype const.ohos.apiversion const.ohos.fullname -
Description of adaptation:
OHOS fixed-value parameters are filled by the OHOS and do not need to be adapted by vendors. Currently, these parameters are defined in the
/base/startup/init/services/etc/param/ohos_const/ohos.parafile.
Adaptation of Vendor Fixed-value Parameters
-
Vendor fixed-value parameters:
const.product.devicetype const.product.manufacturer const.product.brand const.product.name const.build.product const.product.model const.software.model const.product.hardwareversion const.product.hardwareprofile const.product.software.version const.product.bootloader.version const.build.characteristics ... ... -
Description of adaptation:
Adapt parameters in the vendor directory based on actual requirements.
-
The standard system uses RK3568 as an example. Adapt the RK3568 in
/vendor/hihope/rk3568/etc/para/hardware_rk3568.paraand install it in the specified directory.ohos_prebuilt_etc("para_for_chip_prod") { source = "./para/hardware_rk3568.para" install_images = [ chip_prod_base_dir ] relative_install_dir = "para" part_name = "product_rk3568" } -
For the mini and small systems, configure the parameters in the
hals/utils/sys_param/vendor.parafile of the corresponding product. Example:const.product.manufacturer=Talkweb const.product.brand=Talkweb const.product.name=Niobe const.build.product=Niobe const.product.model=Niobe407 const.software.model="2.0.0" const.product.hardwareversion="1.0.0" const.product.hardwareprofile="RAM:192K,ROM:1M,ETH:true" ... ...
-
Adaptation of Vendor Dynamic-value Parameters
Currently, three ways are provided to obtain vendor dynamic-value parameters: cmdline, macro definition, and BUILD.gn definition.
-
cmdline: Values that are read from cmdline include ohos.boot.hardware, ohos.boot.bootslots, and ohos.boot.sn. The way to obtain ohos.boot.sn differs according to the system type as follows:
-
For standard-system devices, Serial is read from ohos.boot.sn.
The value of ohos.boot.sn is read from cmdline (generated by U-Boot). If an SN is obtained, the value is directly read; if a file path is obtained, the value is read from the file. If the preceding attempt fails, the value is read from the default SN files; that is,
/sys/block/mmcblk0/device/cidand/proc/bootdevice/cid. -
For mini- and small-system devices, they may come with their own special algorithms. Therefore, HalGetSerial() can be used to obtain the SN from the
hal_sys_param.cfile in thehals/utils/sys_paramdirectory.
-
-
Macro definition: Obtain parameter values by compiling macro definitions. Currently, this mode is available only for mini- and small-system devices. For example:
defines = [ "INCREMENTAL_VERSION=\"${ohos_version}\"", "BUILD_TYPE=\"${ohos_build_type}\"", "BUILD_USER=\"${ohos_build_user}\"", "BUILD_TIME=\"${ohos_build_time}\"", "BUILD_HOST=\"${ohos_build_host}\"", "BUILD_ROOTHASH=\"${ohos_build_roothash}\"", ] -
BUILD.gndefinition: Obtain parameter values from the/base/startup/init/services/etc/BUILD.gnfile. For example:if (target_cpu == "arm64") { extra_paras += [ "const.product.cpu.abilist=arm64-v8a" ] } if (build_variant == "user") { extra_paras += [ "const.secure=1", "const.debuggable=0", ] } else if (build_variant == "root") { extra_paras += [ "const.secure=0", "const.debuggable=1", ] } if (device_type != "default") { extra_paras += [ "const.product.devicetype=${device_type}", "const.build.characteristics=${device_type}", ] } module_install_dir = "etc/param"
Notes
-
For small-system devices, add the compilation of
vendor.parato thehals/utils/sys_param/BUILD.gnfile.copy("vendor.para") { sources = [ "./vendor.para" ] outputs = [ "$root_out_dir/vendor/etc/param/vendor.para" ] } -
For mini-system devices, a file system is not available and therefore, the
hal_sys_param.candvendor.parafiles are converted into header files and are compiled to the system during compilation.