Android文档将Build.FINGERPRINT作为唯一标识构建的一种方式。我想知道这个属性是如何生成的。我正在我的板上编译整个框架,默认设置为未知。另一个问题是,市场是否使用此标识符作为某种验证?
发布于 2011-02-18 14:06:55
有关这里的概述,请参阅Build.FINGERPRINT:
android.os.Build.FINGERPRINT:唯一标识此构建的字符串。它应该是人类可读的。它必须遵循以下模板: $(BRAND)/$(PRODUCT)/$(DEVICE)/$(BOARD):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS) 例如: acme/mydevice/generic/generic:2.1-update1/ERC77/3359:userdebug/test-keys 指纹不能包括空格。如果模板中包含的其他字段有空格,则应将它们替换为指纹中的ASCII下划线("_")字符。
我知道你确实需要你的平台认证 (是的,包括提供指纹以便市场只显示那些你的设备能够运行的应用程序),然后才能获得使用市场的许可。
发布于 2014-05-15 03:20:56
build/core/Makefile: BUILD_FINGERPRINT := $(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)发布于 2021-08-02 06:20:01
注意,最近的AOSP删除了$(BOARD)
现在看起来是这样的:$(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
构建/制造/核心/syspro.mk
# BUILD_FINGERPRINT is used used to uniquely identify the combined build and
# product; used by the OTA server.
ifeq (,$(strip $(BUILD_FINGERPRINT)))
ifeq ($(strip $(HAS_BUILD_NUMBER)),false)
BF_BUILD_NUMBER := $(BUILD_USERNAME)$$($(DATE_FROM_FILE) +%m%d%H%M)
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)
endif所以正确的指纹就像:
象素
google/shamu/shamu:5.1.1/LMY48Y/2364368:user/release-keys三星S9
samsung/starqlteue/starqlteue:10/QP1A.190711.020/G960U1UEU9FUE4:user/release-keys三星S10
samsung/beyond2qlteue/beyond2q:11/RP1A.200720.012/G975U1UEU5GUE4:user/release-keyshttps://stackoverflow.com/questions/5041665
复制相似问题