1. 编译一个apk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_JAVA_LIBRARIES := <指定依赖的共享JAVA类库>
LOCAL_STATIC_JAVA_LIBRARIES := <指定依赖的静态JAVA类库>
#指定远吗列表。这里使用系统定义的函数搜寻src目录下的文件形成列表
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_MODULE_TAGS := optional #指定模块的标签
LOCAL_CERTIFICATE := shared #指定模块的签名方式
LOCAL_PACKAGE_NAME := testapk #指定模块的名称
include $(BUILD_PACKAGE)
2. 编译一个JAVA共享库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_MODULE_TAGS := optional #指定模块的标签
LOCAL_MODULE := javadynamiclib #指定模块的名称
include $(BUILD_JAVA_LIBRARY)
3. 编译一个java静态库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_MODULE := javastaticlib #指定模块的名称
include $(BUILD_STATIC_JAVA_LIBRARY)
4. 编译一个java资源包文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_NO_STANDARD_LIBRARIES : =true #指定依赖的静态jaca类库
LOCAL_PACKAGE_NAME := javareslib #定义模块名
LOCAL_CERTIFICATE := platform #指定签名类型
LOCAL_AAPT_FLAGS := -x #定义AAPT工具参数
LOCAL_MODULE_TAGS := user #定义模块标签为user
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES) #指定模块的安装路径
LOCAL_EXPORT_PACKAGE_RESOURCES := true #值为true时, 其他的APK模块能引用本模块的资源
include $(BUILD_PACKAGE)
5. 编译一个可执行文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := service.cpp
LOCAL_SHARED_LIBRARIES := LIBTUILS
LOCAL_MODULE := service
include $(BUILD_EXECUTABLE)
6. 编译一个native的共享库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libnativedynamic #指定模块的名称
LOCAL_SRC_FILES := nativedynamic.cpp #指定模块的源文件
LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils
LOCAL_STATIC_LIBRARIES := libnativestatic #指定模块依赖的静态库
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE) \
$(LOCAL_PATH)/../include
LOCAL_CFLAGS += -O
include $(BUILD_STATIC_LIBRARY)
7. 编译一个native静态库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := nativestatic.cpp
LOCAL_C_INCLUDES +=
LOCAL_CFLAGS += -O
include $(BUILD_STATIC_LIBRARY)