一、通过Android.mk添加一个编译模块到系统中的顺序如下:
LOCAL_PATH;
CLEAR_VARS;
LOCAL_SRC_FILES;
LOCAL_CFLAGS (可选);
LOCAL_MODULE;
LOCAL_STATIC LIBRARIES (可选);
BUILD_HOST_EXECUTABLE/BUILD_EXECUTABLE等
二、Android.mk中常用的重要变量解析
其他参数说明:
#LOCAL_MODULE_TAGS参数
#user: 指该模块只在user版本下才编译
#eng: 指该模块只在eng版本下才编译
#tests: 指该模块只在tests版本下才编译
#optional:指该模块在所有版本下都编译
LOCAL_MODULE_TAGS := optional
#LOCAL_CERTIFICATE参数 签名相关
#platform签名
#AndroidManifest.xml的manifest节点中添加 android:sharedUserId=”android.uid.system”
LOCAL_CERTIFICATE := platform
#shared签名
#AndroidManifest.xml的manifest节点中增加android:sharedUserId=”android.uid.shared”
LOCAL_CERTIFICATE := shared
#media签名
#AndroidManifest.xml的manifest节点中增加 android:sharedUserId=”android.media”
LOCAL_CERTIFICATE := media
#PRESIGNED表示已经签名
LOCAL_CERTIFICATE := PRESIGNED #表示app已经签名
LOCAL_PRIVILEGED_MODULE :=true,#则安装位置为system/priv-app,false则安装位置为system/app
LOCAL_PRIVATE_PLATFORM_APIS := true #设置后,会使用sdk的hide的api來编译
#编译不生成odex文件(编译时不优化)
LOCAL_DEX_PREOPT := false
以后遇到其他参数,再补充说明,只做学习记录,在学习中进步,如有错误,请多多批评指正