一. android.mk四种编译目标
①,apk
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)
#设置包名,表示编译的是apk
LOCAL_PACKAGE_NAME := SxxiaoVendor
#指定源文件
LOCAL_SRC_FILES := $(call all-java-files-under, src)
#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
##PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_PACKAGE)
#指定全编是依赖的镜像
#ALL_DEFAULT_INSTALLED_MODULES += $(LOCAL_PACKAGE_NAME)
#选择platform(核心进程,进程UID为system)来进行签名,build/target/product/security下有四组默认签名
#还可选testkey(普通apk,默认),shared(该apk需要和home/contacts共享数据),media(该apk是/media/download中的一环)
#如果是PRESIGNED,则表示改应用已被签名,不需要再签名
#LOCAL_CERTIFICATE := platform
#该模块在所有版本下才编译,还可选user,eng,tests
#指定optional/eng,apk被安装到/system/app
#指定tests,apk被安装到/data/app
#LOCAL_MODULE_TAGS := optional
#使用后,会使用sdk的hide的api来编译,如果
#LOCAL_PRIVATE_PLATFORM_APIS := true
②,exe
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)
#设置包名,表示编译的是apk
LOCAL_MODULE := SxxiaoVendor
#指定源文件
LOCAL_SRC_FILES := $(call all-c-files-under,src)
#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
#PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_EXECUTABLE)
③,so
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)
#设置包名,表示编译的是apk
LOCAL_MODULE := SxxiaoVendor
#指定源文件
LOCAL_SRC_FILES := $(call all-c-files-under,src)
#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
#PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_SHARED_LIBRARY)
④,jar
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)
#设置包名,表示编译的是apk
LOCAL_MODULE := SxxiaoVendor
#指定源文件
LOCAL_SRC_FILES := $(call all-java-files-under,src)
#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
#PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_JAVA_LIBRARY)