(2)Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CLEAR_VARS)开始 以include $(BUILD_XXX)结束。 include $(CLEAR_VARS) CLEAR_VARS由编译系统提供,指定让GNU MAKEFILE为你清除除LOCAL_PATH以外的所有LOCAL_XXX变量, 如LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_SHARED_LIBRARIES,LOCAL_STATIC_LIBRARIES等。 include $(BUILD_STATIC_LIBRARY)表示编译成静态库 include $(BUILD_SHARED_LIBRARY)表示编译成动态库。 include $(BUILD_EXECUTABLE)表示编译成可执行程序
# Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build LOCAL_PACKAGE_NAME := LocalPackage
# Tell it to build an APK include $(BUILD_PACKAGE)
(5)编译一个依赖于静态Java库(static.jar)的应用程序 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
# List of static libraries to include in the package LOCAL_STATIC_JAVA_LIBRARIES := static-library
# Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build LOCAL_PACKAGE_NAME := LocalPackage
# Tell it to build an APK include $(BUILD_PACKAGE)
(6)编译一个需要用平台的key签名的应用程序 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
# Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_CERTIFICATE := platform
# Tell it to build an APK include $(BUILD_PACKAGE) (7)编译一个需要用特定key前面的应用程序 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
# Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_CERTIFICATE := vendor/example/certs/app
# Tell it to build an APK include $(BUILD_PACKAGE)
(8)添加一个预编译应用程序 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
# Module name should match apk name to be installed. LOCAL_MODULE := LocalModuleName LOCAL_SRC_FILES := $(LOCAL_MODULE).apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
(9)添加一个静态JAVA库 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
# Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Any libraries that this library depends on LOCAL_JAVA_LIBRARIES := android.test.runner
# The name of the jar file to create LOCAL_MODULE := sample
# Build a static jar file. include $(BUILD_STATIC_JAVA_LIBRARY)