android系统签名及修改

发布时间:2025-12-09 13:40:24 浏览次数:4

系统签名文件目录:
build/make/target/product/security

主要签名文件

media.pk8
media.x509.pem

networkstack.pk8
networkstack.x509.pem

platform.pk8
platform.x509.pem

releasekey.pk8
releasekey.x509.pem

shared.pk8
shared.x509.pem

testkey.pk8
testkey.x509.pem

verity_key
verity.pk8
verity.x509.pem

各类签名说明:
platform:平台的核心应用签名,签名的apk是完成系统的核心功能。这些apk所在的进程UID是system。manifest节点中有添加android:sharedUserId=”android.uid.system”。
media: 这个签名的apk是media/download的一部分。manifest节点中有添加android:sharedUserId=”android.media”。
shared:这个签名的apk可以和home/contacts进程共享数据。manifest节点中有添加android:sharedUserId=”android.uid.shared”。
testkey/releasekey:平台默认key。在编译中未指定LOCAL_CERTIFICATE的,默认是用testkey。因为testkey是公开的,任何人都可以获取,不安全,所以一般使用 自己创建releasekey作为默认key。

.pk8 与 .x509.pem
.pk8就是私钥文件,用于对apk进行签名。
.x509.pem是证书文件,相当于公钥。主要用于验证某个apk是否由相应的私钥签名。

在系统中配置和使用:
build/make/core/config.mk中

ifdef PRODUCT_DEFAULT_DEV_CERTIFICATE
DEFAULT_SYSTEM_DEV_CERTIFICATE := $(PRODUCT_DEFAULT_DEV_CERTIFICATE)
else
DEFAULT_SYSTEM_DEV_CERTIFICATE := build/make/target/product/security/testkey
endif

如果配置了PRODUCT_DEFAULT_DEV_CERTIFICATE,则使用PRODUCT_DEFAULT_DEV_CERTIFICATE。
否则使用build/make/target/product/security/testkey。

system/sepolicy/private/keys.conf中
[@PLATFORM]
ALL : $DEFAULT_SYSTEM_DEV_CERTIFICATE/platform.x509.pem

[@MEDIA]
ALL : $DEFAULT_SYSTEM_DEV_CERTIFICATE/media.x509.pem

[@NETWORK_STACK]
ALL : $MAINLINE_SEPOLICY_DEV_CERTIFICATES/networkstack.x509.pem

[@SHARED]
ALL : $DEFAULT_SYSTEM_DEV_CERTIFICATE/shared.x509.pem

# Example of ALL TARGET_BUILD_VARIANTS
[@RELEASE]
ENG : $DEFAULT_SYSTEM_DEV_CERTIFICATE/testkey.x509.pem
USER : $DEFAULT_SYSTEM_DEV_CERTIFICATE/testkey.x509.pem
USERDEBUG : $DEFAULT_SYSTEM_DEV_CERTIFICATE/testkey.x509.pem

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477