Android.mk中LOCAL_CERTIFICATE值之间的差异

Roh*_*kde 3 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))
Run Code Online (Sandbox Code Playgroud)

ali*_*dro 5

除了值platformshared,还有其他两个值称为mediareleasekey.下面的列表说明了他们之间的分歧这是从Android编译系统复制来自这里.

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

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

我上面给出的Android构建系统的链接不是官方的,但它是一个很好的参考资料.

更新:
您还可以设置LOCAL_CERTIFICATEPRESIGNED,它告诉签名脚本此APK已经签名,不应再次签名.