Android.mk中LOCAL_CERTIFICATE值之间的差异

时间:2015-01-31 10:30:02

标签: android makefile

变量LOCAL_CERTIFICATE的不同值之间有什么区别?

我知道两个价值平台和共享。 Android构建系统中有哪些其他可能的值?它如何影响我们的应用程序的行为。

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := abc
LOCAL_CERTIFICATE := shared

LOCAL_JNI_STATIC_LIBRARIES := abcjni

LOCAL_PROGUARD_ENABLED := disabled

include $(BUILD_PACKAGE)

include $(call all-makefiles-under,$(LOCAL_PATH))

1 个答案:

答案 0 :(得分:5)

除了值platformshared之外,还有另外两个名为mediareleasekey的值。以下列表说明了它们之间的区别,这些差异来自here的Android构建系统。

  • platform:作为核心平台一部分的软件包的密钥。
  • shared:家庭/联系人流程中共享内容的密钥。
  • media:作为媒体/下载系统一部分的软件包的密钥。
  • releasekey:如果没有另行指定,则用于签名的默认密钥

这些是Android安全系统使用的签名,以确保核心组件和系统安全框架在制造的控制之下。

我上面提到的关于Android构建系统的链接不是官方的,但它是一个很好的参考资料。

<强>更新
您还可以将LOCAL_CERTIFICATE设置为PRESIGNED,告知签名脚本此APK已经签名且不应再次签名。