首页 > 其他分享 >高通c6490 为过GMS,修改fingerprint属性

高通c6490 为过GMS,修改fingerprint属性

时间:2024-08-02 14:06:51浏览次数:7  
标签:product echo c6490 build fingerprint GMS ro MY

首先通过adb查看含有fingerprint的属性值

lahaina:/ $ getprop | grep finger
[ro.bootimage.build.fingerprint]: [qti/lahaina/lahaina:11/RKQ1.230607.001/asw06281258:user/test-keys]
[ro.build.fingerprint]: [qti/lahaina/lahaina:13/PB-A6490ACT-Android13-EDP-/V1.3-20240628:user/test-keys]
[ro.build.version.preview_sdk_fingerprint]: [REL]
[ro.odm.build.fingerprint]: [qti/lahaina/lahaina:11/RKQ1.230607.001/asw06281258:user/test-keys]
[ro.product.build.fingerprint]: [qti/qssi/qssi:13/PB-A6490ACT-Android13-EDP-/asw06281034:user/test-keys]
[ro.system.build.fingerprint]: [qti/qssi/qssi:13/PB-A6490ACT-Android13-EDP-/asw06281034:user/test-keys]
[ro.system_ext.build.fingerprint]: [qti/qssi/qssi:13/PB-A6490ACT-Android13-EDP-/asw06281034:user/test-keys]
[ro.vendor.build.fingerprint]: [qti/lahaina/lahaina:11/RKQ1.230607.001/asw06281258:user/test-keys]
lahaina:/ $

 修改方法如下:

Index: QCM6490_apps_qssi13/LINUX/android/build/make/core/Makefile
===================================================================
--- QCM6490_apps_qssi13/LINUX/android/build/make/core/Makefile	(revision 2959)
+++ QCM6490_apps_qssi13/LINUX/android/build/make/core/Makefile	(working copy)
@@ -15,6 +15,24 @@
 ODM_DLKM_NOTICE_DEPS :=
 SYSTEM_DLKM_NOTICE_DEPS :=
 
+MY_BRAND="POS"
+MY_MANUFACTURER="pCloud"
+MY_DEVICE="POS"
+MY_MODEL="pCloud"
+MY_NAME="PPGLRQ90"
+MY_BUILD_NUMBER="20240726"
+
+define generate-common-build-props
+	PRODUCT_BRAND="$(MY_BRAND)" \
+	TARGET_DEVICE="$(MY_DEVICE)" \
+	PRODUCT_MANUFACTURER="$(MY_MANUFACTURER)" \
+	PRODUCT_MODEL="$(MY_MODEL)" \
+	TARGET_PRODUCT="$(MY_NAME)" \
+	BF_BUILD_NUMBER="$(MY_BUILD_NUMBER)" \
+	$(call generate-common-build-props-with-product-vars-set,$(1),$(2))
+endef
+
+
 # -----------------------------------------------------------------
 # Define rules to copy PRODUCT_COPY_FILES defined by the product.
 # PRODUCT_COPY_FILES contains words like <source file>:<dest file>[:<owner>].
Index: QCM6490_apps_qssi13/LINUX/android/build/make/core/sysprop.mk
===================================================================
--- QCM6490_apps_qssi13/LINUX/android/build/make/core/sysprop.mk	(revision 2959)
+++ QCM6490_apps_qssi13/LINUX/android/build/make/core/sysprop.mk	(working copy)
@@ -41,11 +41,15 @@
         echo "ro.product.$(1).model=$(PRODUCT_SYSTEM_MODEL)" >> $(2);\
         echo "ro.product.$(1).name=$(PRODUCT_SYSTEM_NAME)" >> $(2);\
       ,\
-        echo "ro.product.$(1).brand=$(PRODUCT_BRAND)" >> $(2);\
-        echo "ro.product.$(1).device=$(TARGET_DEVICE)" >> $(2);\
-        echo "ro.product.$(1).manufacturer=$(PRODUCT_MANUFACTURER)" >> $(2);\
-        echo "ro.product.$(1).model=$(PRODUCT_MODEL)" >> $(2);\
-        echo "ro.product.$(1).name=$(TARGET_PRODUCT)" >> $(2);\
+        echo "ro.product.$(1).brand=$(MY_BRAND)" >> $(2);\
+        echo "ro.product.$(1).device=$(MY_DEVICE)" >> $(2);\
+        echo "ro.product.$(1).manufacturer=$(MY_MANUFACTURER)" >> $(2);\
+        echo "ro.product.$(1).model=$(MY_MODEL)" >> $(2);\
+        echo "ro.product.$(1).name=$(MY_NAME)" >> $(2);\
+        echo "ro.product.brand=$(MY_BRAND)" >> $(2);\
+        echo "ro.product.name=$(MY_NAME)" >> $(2);\
+        echo "ro.product.device=$(MY_DEVICE)" >> $(2);\
+        echo "ro.build.version.incremental=$(MY_BUILD_NUMBER)" >> $(2);\
     )\
     $(if $(filter true,$(ZYGOTE_FORCE_64)),\
         $(if $(filter vendor,$(1)),\
@@ -157,7 +161,7 @@
 # Both of these tags will be removed and replaced with "release-keys"
 # when the target-files is signed in a post-build step.
 ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/make/target/product/security/testkey)
-BUILD_KEYS := test-keys
+BUILD_KEYS := release-keys
 else
 BUILD_KEYS := dev-keys
 endif
@@ -172,7 +176,7 @@
   else
     BF_BUILD_NUMBER := $(file <$(BUILD_NUMBER_FILE))
   endif
-  BUILD_FINGERPRINT := $(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
+  BUILD_FINGERPRINT := $(MY_BRAND)/$(MY_NAME)/$(MY_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(MY_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
 endif
 # unset it for safety.
 BF_BUILD_NUMBER :=

Index: LINUX/android/build/make/core/Makefile
===================================================================
--- LINUX/android/build/make/core/Makefile	(revision 2959)
+++ LINUX/android/build/make/core/Makefile	(working copy)
@@ -4,6 +4,27 @@
 # intermedites-dir-for
 LOCAL_PATH := $(BUILD_SYSTEM)
 
+MY_BRAND="POS"
+MY_MANUFACTURER="pCloud"
+MY_DEVICE="POS"
+MY_MODEL="pCloud"
+MY_NAME="PPGLRQ90"
+MY_BUILD_NUMBER="20240726"
+MY_PLATFORM_VERSION="13"
+MY_BUILD_ID="PB-A6490ACT-Android13-EDP-"
+
+define generate-common-build-props
+	PRODUCT_BRAND="$(MY_BRAND)" \
+	TARGET_DEVICE="$(MY_DEVICE)" \
+	PRODUCT_MANUFACTURER="$(MY_MANUFACTURER)" \
+	PRODUCT_MODEL="$(MY_MODEL)" \
+	TARGET_PRODUCT="$(MY_NAME)" \
+	BF_BUILD_NUMBER="$(MY_BUILD_NUMBER)" \
+	PLATFORM_VERSION="$(MY_PLATFORM_VERSION)" \
+	BUILD_ID="$(MY_BUILD_ID)" \
+	$(call generate-common-build-props-with-product-vars-set,$(1),$(2))
+endef
+
 # -----------------------------------------------------------------
 # Define rules to copy PRODUCT_COPY_FILES defined by the product.
 # PRODUCT_COPY_FILES contains words like <source file>:<dest file>[:<owner>].
@@ -324,7 +345,7 @@
 # Both of these tags will be removed and replaced with "release-keys"
 # when the target-files is signed in a post-build step.
 ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/make/target/product/security/testkey)
-BUILD_KEYS := test-keys
+BUILD_KEYS := release-keys
 else
 BUILD_KEYS := dev-keys
 endif
@@ -342,7 +363,7 @@
   else
     BF_BUILD_NUMBER := $(file <$(BUILD_NUMBER_FILE))
   endif
-  BUILD_FINGERPRINT := $(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
+  BUILD_FINGERPRINT := $(MY_BRAND)/$(MY_NAME)/$(MY_DEVICE):$(MY_PLATFORM_VERSION)/$(MY_BUILD_ID)/$(MY_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
 endif
 # unset it for safety.
 BF_BUILD_NUMBER :=
@@ -536,7 +557,7 @@
 	        echo "#" >> $@;
 	$(hide) echo ro.bootimage.build.date=`$(DATE_FROM_FILE)`>>$@
 	$(hide) echo ro.bootimage.build.date.utc=`$(DATE_FROM_FILE) +%s`>>$@
-	$(hide) echo ro.bootimage.build.fingerprint="$(BUILD_FINGERPRINT_FROM_FILE)">>$@
+	$(hide) echo ro.bootimage.build.fingerprint="POS/PPGLRQ90/POS:13/PB-A6490ACT-Android13-EDP-/20240726:user/release-keys">>$@
 	$(hide) echo "#" >> $@; \
 	        echo "# ADDITIONAL VENDOR BUILD PROPERTIES" >> $@; \
 	        echo "#" >> $@;

 

最后通过adb可以看到属性修改符合客户需求的了。

 

注意,高通的SDK是有两套android源码的。然后ro.build.fingerprint 在QCM6490_apps_qssi13/LINUX/android/system/core/init/property_service.cpp 下面有设置。代码如下,build.prop 中添加ro.build.fingerprint属性,init会根据上面的系统属性自动拼接

所以我直接在sysprop.mk里面添加了ro.product.brand 等属性。

 

// If the ro.build.fingerprint property has not been set, derive it from constituent pieces
static void property_derive_build_fingerprint() {
    std::string build_fingerprint = GetProperty("ro.build.fingerprint", "");
    if (!build_fingerprint.empty()) {
        return;
    }

    build_fingerprint = ConstructBuildFingerprint(false /* legacy fingerprint */);
    LOG(INFO) << "Setting property '" << FINGERPRINT_PROP << "' to '" << build_fingerprint << "'";

    std::string error;
    uint32_t res = PropertySet(FINGERPRINT_PROP, build_fingerprint, &error);
    if (res != PROP_SUCCESS) {
        LOG(ERROR) << "Error setting property '" << FINGERPRINT_PROP << "': err=" << res << " ("
                   << error << ")";
    }
}


static std::string ConstructBuildFingerprint(bool legacy) {
    const std::string UNKNOWN = "unknown";
    std::string build_fingerprint = GetProperty("ro.product.brand", UNKNOWN);
    build_fingerprint += '/';
    build_fingerprint += GetProperty("ro.product.name", UNKNOWN);
    build_fingerprint += '/';
    build_fingerprint += GetProperty("ro.product.device", UNKNOWN);
    build_fingerprint += ':';
    build_fingerprint += GetProperty("ro.build.version.release_or_codename", UNKNOWN);
    build_fingerprint += '/';

    std::string build_id =
            legacy ? GetProperty(LEGACY_ID_PROP, UNKNOWN) : GetProperty(ID_PROP, UNKNOWN);
    build_fingerprint += build_id;
    build_fingerprint += '/';
    build_fingerprint += GetProperty("ro.build.version.incremental", UNKNOWN);
    build_fingerprint += ':';
    build_fingerprint += GetProperty("ro.build.type", UNKNOWN);
    build_fingerprint += '/';
    build_fingerprint += GetProperty("ro.build.tags", UNKNOWN);

    return build_fingerprint;
}

 

标签:product,echo,c6490,build,fingerprint,GMS,ro,MY
From: https://www.cnblogs.com/dodo-asw/p/18338642

相关文章

  • GMSSL2.x编译鸿蒙静态库和动态库及使用
    一、编译环境准备1.1开发工具DevEco-Studio下载。1.2SDK下载​ 下载编译第三方库的SDK有两种方式,第一种方式从官方渠道根据电脑系统选择对应的SDK版本,第二种方式通过DevEco-Studio下载SDK。本文只介绍通过DevEco-Studio下载SDK的方式。安装SDK到本地根据SDK安装位......
  • Gmsh概述
    1、概述        Gmsh是一个内置CAD引擎和后处理器的三维有限元网格生成器。其设计目标是提供一个快速、轻量级且用户友好的网格划分工具,具有参数化输入和灵活的可视化功能。        Gmsh围绕四个模块构建(几何、网格、求解器和后处理),这些模块可以通过图形用户......
  • 国密证书(gmssl)在Kylin Server V10下安装
    1.查看操作系统信息[root@localhost~]#cat/etc/.kyinfo [dist]name=Kylinmilestone=Server-V10-GFB-Release-ZF9_01-2204-Build03arch=arm64beta=Falsetime=2023-01-0911:04:36dist_id=Kylin-Server-V10-GFB-Release-ZF9_01-2204-Build03-arm64-2023-01-0911:04:......
  • 基于AnolisOS 8.6的OpenVPN和GmSSLv2国密算法SSL VPN测试
    测试环境AnolisOS-8.6-x86_64-minimal.isoVirtualBox,2vCPU,4GRAM,40vDisk安装依赖yuminstall-ymakegcc编译安装GmSSLunzipGmSSL-master.zip**注:**由于许多系统有自带的ssl库,为避免潜在的动态库冲突,此处仅生成静态库./config--prefix=/usr/local/gmssl......
  • 自动驾驶半实物仿真平台设计方案:827-8路GMSL视频注入回灌的自动驾驶半实物仿真平台
    8路GMSL视频注入回灌的自动驾驶半实物仿真平台一、平台介绍   产品基于8路GMSL视频注入回灌的自动驾驶半实物仿真平台旨在提高实验室及研究生院师生在基础软件层开发、计算机视觉和深度学习方面的专业知识学习和实践能力,为师生提供一个稳定软件开发和多精度框......
  • GMSL(1)-GMSL分类
    本文转载:https://gitcode.csdn.net/65ec4a551a836825ed796d0e.html GMSL分类(1)GMSL1GMSL1的sensor大部分是DVP接口,相机在1~2mega像素之内,总带宽不超过1.5Gbps,sensordvp接口定义:HSYNC:horizonalsynchronization,行同步信号VSYNC:verticalsynchronization,帧同步信号;DATA:像素......
  • 安卓14谷歌GooglePlay商店安装 谷歌基础服务打开 GMS服务开关 谷歌三件套安装
    环境:最新的安卓手机已经内置了谷歌三件套例如小米手机打开Go安装器可以看到结果,但是为什么没有Play商店的桌面进入图标呢,因为默认厂商把图标给隐藏了,只需要重新打开即可。提示安装Google服务后系统会增加显著的耗电,不用时建议关闭GMS服务添加快捷方式(使用其他软件)主程序......
  • 利用GmSSL制作SM2国密证书
    Part0前言     GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准......
  • 抓取真实浏览器设备指纹fingerprint写入cookie方案
     今天分享一个关于抓取真实浏览器设备指纹写入cookie方案,用户访问页面获取到用户设备生成指纹id,通过js把指纹存入cookie,然后用php进行获取cookie存的指纹值到后台。上写法: 首页在前端页面js引入:<!--引入浏览器指纹!--><script>functiongetCookie(name){varcook......
  • 【Android R】manualTests#com.android.cts.verifier.security.FingerprintBoundKeysT
    异常日志:11-1219:24:47.64953875387DAndroidRuntime:ShuttingdownVM11-1219:24:47.67153875387EAndroidRuntime:FATALEXCEPTION:main11-1219:24:47.67153875387EAndroidRuntime:Process:com.android.cts.verifier,PID:538711-1219:24:47.6715387......