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"

Categories
android

AOSP 签名信息

证书秘钥保存在build/target/product/security/文件夹下

-rw-rw-r-- 1 robin robin  977 7月  13  2022 Android.bp
-rw-rw-r-- 1 robin robin 3179 7月  13  2022 Android.mk
-rw-rw-r-- 1 robin robin 1217 7月  13  2022 cts_uicc_2021.pk8
-rw-rw-r-- 1 robin robin 1464 7月  13  2022 cts_uicc_2021.x509.pem
-rw-rw-r-- 1 robin robin 1484 7月  13  2022 fsverity-release.x509.der
-rw-rw-r-- 1 robin robin 1675 7月  13  2022 media.pem
-rw-rw-r-- 1 robin robin 1217 7月  13  2022 media.pk8
-rw-rw-r-- 1 robin robin 1440 7月  13  2022 media.x509.pem
-rw-rw-r-- 1 robin robin 2375 7月  13  2022 networkstack.pk8
-rw-rw-r-- 1 robin robin 2094 7月  13  2022 networkstack.x509.pem
-rw-rw-r-- 1 robin robin 1675 7月  13  2022 platform.pem
-rw-rw-r-- 1 robin robin 1216 7月  13  2022 platform.pk8
-rw-rw-r-- 1 robin robin 1440 7月  13  2022 platform.x509.pem
-rw-rw-r-- 1 robin robin 3299 7月  13  2022 README
-rw-rw-r-- 1 robin robin 1679 7月  13  2022 shared.pem
-rw-rw-r-- 1 robin robin 1218 7月  13  2022 shared.pk8
-rw-rw-r-- 1 robin robin 1440 7月  13  2022 shared.x509.pem
-rw-rw-r-- 1 robin robin 1675 7月  13  2022 testkey.pem
-rw-rw-r-- 1 robin robin 1216 7月  13  2022 testkey.pk8
-rw-rw-r-- 1 robin robin 1440 7月  13  2022 testkey.x509.pem
-rw-rw-r-- 1 robin robin  524 7月  13  2022 verity_key
-rw-rw-r-- 1 robin robin 1219 7月  13  2022 verity.pk8
-rw-rw-r-- 1 robin robin 1444 7月  13  2022 verity.x509.pem

.pk8 代表私钥 private key

.x509.pem 代表公钥 public key (CERTIFICATE)

.pem 代表rsa 私钥 RSA PRIVATE KEY (pk8 的另一种格式)

主要有四个签名

testKey platform shared media

最重要的是platform 系统签名应用 该签名的app能 获取系统权限

该文件夹下的readme介绍如何生成新的秘钥

删除备份旧的platform秘钥

rm platform.pem
rm platform.pk8
rm platform.x509.pem

生成新的秘钥

  development/tools/make_key platform      '/C=CN/ST=Guangdong/L=Guangzhou/O=Android/OU=Robin/CN=blog.robinluo.top/emailAddress=1569964920@qq.com'

不输入密码
生成platform 秘钥文件
platform.pk8
platform.x509.pem

生成p12文件
   openssl pkcs12 -export -out platform.p12 -inkey platform.pem -in platform.x509.pem


生成jks签名文件
      keytool -importkeystore -deststorepass RobinLuo -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12

查看jks文件
keytool -list -keystore platform.jks