ro.build.fingerprint 是在编译时决定的
frameworks/base/core/java/android/os/Build.java
publicstatic final String FINGERPRINT = deviceFingerprint()
private stattic String deviceFingerprint(){
String finger = SystemProperties.get("ro.vuild.fingerprint");
if(TextUtils.isEmpty(finger)){
finger = getString("ro.product.brand")+'/'+
getString("ro.product.name")+'/'+
getString("ro.product.device")+'/'+
getString("ro.build.version.release")+'/'+
getString("ro.build.id")+'/'+
getString("ro.build.version.incremental")+'/'+
getString("ro.build.type")+'/'+
getString("ro.build.tags")+'/'+
}
return finger;
}
fingerprint 格式
make file定义在
build/make/core/sysprop.mk
$(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
要缩短该fingerprint
新更新
安卓系统会读取 system/build.prop
可以在这个文件设置 build.prop
在源码目录out/target/product/rk3588s_s/system/build.prop
设置
ro.build.fingerprint=rk3588s_s/12/SQ3A.220705.003.A1/eng.robin.20240217:userdebug/release-keys
若没有这个out文件夹(删除了out目录)
则需要在build/make/tools/buildinfo.sh
添加
echo "ro.build.fingerprint=$PRODUCT_BRAND/:$PLATFORM_VERSION/$BUILD_ID"