#Android.mk
LOCAL_PATH := $(call my-dir)
>定义了当前文件夹路径就是LOCAL_PATH,然后从 include $(CLEAR_VARS) 到 include $(BUILD_PACKAGE) 这就是一个编译模块了。
include $(CLEAR_VARS)
>:清空参数
LOCAL_RESOURCE_DIR
>:res文件夹(资源)用那些资源文件夹就往里+
TARGET_BUILD_APPS
>:是编App还是编系统什么的,网上查一下,因为mk好像有很多这种固定的变量
LOCAL_CERTIFICATE := platform
>:表示是平台的,也就是系统应用要系统签名
LOCAL_PACKAGE_NAME := DeskClock
>:生成的apk的名字还有它的文件夹的名字(位于alps/out/target/product/xxxx/system/app/)
LOCAL_OVERRIDES_PACKAGES := AlarmClock
>覆盖的包名,例如一些厂商定制要覆盖掉原生的
LOCAL_SRC_FILES := $(call all-java-files-under, src gen)
>:src,gen 这些文件夹下的java都要参与编译,也可以像res一样+
LOCAL_PROGUARD_ENABLED := disabled
>:代码要不要混淆
LOCAL_STATIC_JAVA_LIBRARIES
>:用到的系统中的jar包 也包括第三方的jar但是需要作为一个模块重新编一次
LOCAL_AAPT_FLAGS
>:R资源生成别名,查了一下为资源设置别名,这样别人也可以用定义的这些包名访问本app资源了
LOCAL_PROGUARD_FLAG_FILES
>:指定不需要混淆的native方法与变量的proguard.flags文件
include $(BUILD_PACKAGE)
>:编译模块(类型)include $(BUILD_PACKAGE) ,就是说要编译个App出来,如果是include $(BUILD_STATIC_JAVA_LIBRARY)就是编译个jar包出来。
转载于:https://www.cnblogs.com/bingfang1408/p/10418148.html