Categories
android

ro.build.fingerprint 过长

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"