Android 源码签名路径分析

本文解析了签名路径和签名文件的设置方式。签名路径由DEFAULT_SYSTEM_DEV_CERTIFICATE或PRODUCT_DEFAULT_DEV_CERTIFICATE决定,默认使用“build/target/product/security/testkey”。签名文件则由LOCAL_CERTIFICATE决定,若未指定绝对路径,将根据DEFAULT_SYSTEM_DEV_CERTIFICATE的目录确定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

签名路径由DEFAULT_SYSTEM_DEV_CERTIFICATE或PRODUCT_DEFAULT_DEV_CERTIFICATE 决定

签名文件由LOCAL_CERTIFICATE 决定

文件 build/core/config.mk

# The default key if not set as LOCAL_CERTIFICATE
ifdef PRODUCT_DEFAULT_DEV_CERTIFICATE
  DEFAULT_SYSTEM_DEV_CERTIFICATE := $(PRODUCT_DEFAULT_DEV_CERTIFICATE)
else
  DEFAULT_SYSTEM_DEV_CERTIFICATE := build/target/product/security/testkey
endif

如上代码分析,如果没有定义PRODUCT_DEFAULT_DEV_CERTIFICATE(可以在产品mk中定义),默认签名使用“build/target/product/security/testkey”。

文件 build/make/core/prebuilt_internal.mk

# If this is not an absolute certificate, assign it to a generic one.
ifeq ($(dir $(strip $(LOCAL_CERTIFICATE))),./)
      LOCAL_CERTIFICATE := $(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))$(LOCAL_CERTIFICATE)
endif

如果LOCAL_CERTIFICATE(在应用的Android.mk中定义)不是绝对值路径,则LOCAL_CERTIFICATE根据DEFAULT_SYSTEM_DEV_CERTIFICATE的目录找到对应的签名文件。

如LOCAL_CERTIFICATE:=platform 表示使用平台签名,则其值最终为LOCAL_CERTIFICATE = build/target/product/security/platform

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值