android开发笔记之mk文件
原创hfreeman2008 最后发布于2015-07-07 18:26:29 阅读数 3154 收藏
展开
注释
# -------------------------------------------------------------
# START
# -------------------------------------------------------------
自定义变量
以下是在 Android.mk中依赖或定义的变量列表,可以定义其他变量为自己使用,但是NDK编译系统保留下列变量名:
-以 LOCAL_开头的名字(例如 LOCAL_MODULE)
-以 PRIVATE_, NDK_ 或 APP_开头的名字(内部使用)
-小写名字(内部使用,例如‘my-dir’)
如果为了方便在 Android.mk 中定义自己的变量,建议使用 MY_前缀,一个小例子:
MY_SOURCES := foo.c
ifneq ($(MY_CONFIG_BAR),)
MY_SOURCES += bar.c
endif
LOCAL_SRC_FILES += $(MY_SOURCES)
注意:
‘:=’是赋值的意思;’+=’是追加的意思;‘$’表示引用某变量的值
文件复制-PRODUCT_COPY_FILES
PRODUCT_COPY_FILES += device/qcom/l9010_mmx/media/media_profiles_8916.xml:system/etc/media_profiles.xml \
device/qcom/l9010_mmx/media/media_codecs_8939.xml:system/etc/media_codecs_8939.xml \
device/qcom/l9010_mmx/media/media_codecs_8929.xml:system/etc/media_codecs_8929.xml
这个命令是对launcher应用app布局文件的定义:
PRODUCT_COPY_FILES += vendor/tinno/packages/apks/default_workspace.xml:system/etc/default_workspace.xml
定义包-PRODUCT_PACKAGES
PRODUCT_PACKAGES += \
ConfigUpdater \
GoogleBackupTransport \
GoogleFeedback \
GoogleLoginService \
GoogleOneTimeInitializer \
GooglePartnerSetup \
GoogleServicesFramework \
GoogleCalendarSyncAdapter \
GoogleContactsSyncAdapter \
GmsCore \
Phonesky \
SetupWizard
strip 去空格函数
$(strip string)
功能:去掉字串中开头和结尾的空字符。
返回:返回被去掉空格的字符串值。
示例
TEST = DEFAULT
RESULT = no
ifeq ($(strip $(TEST)), DEFAULT)
RESULT = yes
endif
ifeq ifneq ifdef ifndef–条件判断
ifeq ifneq
如果定义TINNO_LANIX_DATACON_ALERT为true,就内置LanixDataconAlert
TINNO_LANIX_DATACON_ALERT := true
ifeq ($(strip $(TINNO_LANIX_DATACON_ALERT)),true)
PRODUCT_PACKAGES += LanixDataconAlert
endif
如果定义PRODUCT_PREBUILT_WEBVIEWCHROMIUM为yes,就包含vendor/google/gms/apps/WebViewGoogle/overlay。
PRODUCT_PREBUILT