android Fingerprint属性如何定义
copy from:https://blog.csdn.net/w1764662543/article/details/86646039
本文章记录,在于做kdump功能时,crash kernel只有一个zImage,没有android的东西,导致,crash kernel启动后,一直打赢DEBUG信息,为了关掉这些log,查询到了Fingerprint
fingprint定义需要按照如下格式:
$(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
[ro.build.brand]/[ro.product.name]/[ro.product.device]:[ro.build.version.release]/[ro.build.id]/[ro.build.version.incremental]:[ro.build.type]/[ro.build.tags]
1
2
3
属性变量 属性值 说明
$(PRODUCT_BRAND) ro.build.brand 客户名
TARGET_PRODUCT ro.product.name 产品名
TARGET_DEVICE ro.product.device 设备名
PLATFORM_VERSION ro.build.version.release 安卓版本
BUILD_ID ro.build.id 不知道??
BF_BUILD_NUMBER ro.build.version.incremental 编译日期相关,每次版本都变
TARGET_BUILD_VARIANT ro.build.type user&userdebug
(BUILD_VERSION_TAGS ro.build.tags 一般release-keys,不知道是说明东西
例如:
Mobicel/X4/X4:9/PPR1.180610.011/K210_MAS_08:userdebug/release-keys
Fingprint里面的属性不能存在空格
以下是CTS检查Fingerprint
android.os.cts.BuildVersionTest
-- testBuildFingerprint
public static class Build{
public static String BOARD="";
public static String BRAND="";
public static String ID="";
public static String HOST="";
public static String DEVICE="";
public static String HARDWARE="";
public static String MANUFACTURER="";
public static String SERIAL="";
public static String MODEL="";
public static String TYPE="";
public static String PRODUCT="";
public static String USER="";
public static String TAGS="";
}
满足下面的正则表达式
private static final Pattern BOARD_PATTERN =
Pattern.compile("^([0-9A-Za-z._-]+)$");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mtk online有以下描述
[DESCRIPTION]
android.os.cts.BuildVersionTest
–testBuildFingerprint
customization : [ro.build.brand]/[ro.product.name]/[ro.product.device]:[ro.build.version.release]/[ro.build.id]/[ro.build.version.incremental]:[ro.build.type]/[ro.build.tags]
[Analysis]
–the ro.product.name and ro.build.fingerprint
•fingerprint should in the format of
–=>[ro.build.brand]/[ro.product.name]/[ro.product.device]:[ro.build.version.release]/[ro.build.id]/[ro.build.version.incremental]:[ro.build.type]/[ro.build.tags]
–The length for fingerprint should be less than 91 characters
[SOLUTION]
Method 1:
Modify buildinfo.sh,
echo “ro.build.fingerprint=$BUILD_FINGERPRINT”
delete $BUILD_FINGERPRINT,modify the strings as you want,
you must follow the formart:
–=>[ro.build.brand]/[ro.product.name]/[ro.product.device]:[ro.build.version.release]/[ro.build.id]/[ro.build.version.incremental]:[ro.build.type]/[ro.build.tags]
Method 2:
Modify $BUILD_FINGERPRINT in build\core\Makefile
you can Refer to the FAQ:
FAQ ID: FAQ03066
Settings中About Phone的Model number等信息的修改
————————————————
版权声明:本文为CSDN博主「淡定的人O」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w1764662543/article/details/86646039
Android Fingerprint完全解析(一) :Fingerprint整体框架
原创le_bonheur 最后发布于2017-08-08 12:14:53 阅读数 9228 收藏
展开
1 TEE概述
TEE: 可信执行环境(TEE,Trusted Execution Environment) 是Global Platform(GP)提出的概念,是和REE(Rich Execution Environment)相对应的,是ARM的一种模式。 我们一般也称TEE和REE为Secure World和Normal World。Android都跑在Normal World上,但是有些安全性要求比较高的行为,例如指纹的比对,支付时候用私钥签名的动作等,就要放到Secure World里面去了。TEE环境下也要有一个操作系统,海思有自己的Trustzone的操作系统,此外还有Trustonic、高通的QSEE、国内的豆荚等。
2 Android 6.0版本TEE 环境下Fingerprint 基本功能架构
如上图所示,指纹基本功能,主要由上图中的几个部分构成。
其中:
具体职责划分如下:
由OEM 厂商实现
由OEM厂商实现
由指纹厂商负责
3 Android 6.0版本Fingerprint 启动流程
init.rc 中启动fingerprintd 指纹(Fingerprint)的守护进程
SystemServer 会启动指纹的系统服务 FingerprintSetvice
FingerprintSetvice 调用fingerprintd 的接口,与ingerprint Hal 层通信
fingerprint Hal 通过指纹厂商的驱动程序与指纹硬件交互
4 Fingerprint Hal 与TEE 环境的交互
为了安全着想,指纹硬件 SPI 等 挂载在TEE 环境下,指纹图像数据的采集,算法的相关处理都在TEE 环境下进行。REE 侧 只是得到TEE 侧的结果。后边会讲详细介绍高通QSEE ,Trustonic,豆荚。
————————————————
版权声明:本文为CSDN博主「le_bonheur」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/g241893312/article/details/76893472