您的位置:首页 > 移动开发 > Android开发

Android.mk 的常用写法

2018-01-11 18:14 429 查看
Android.mk中选项参考:build/core/config.mk
Android.mk中各选项的默认值参考:build/core/base_rules.mk
 
LOCAL_PATH := $(call my-dir)
 
include $(CLEAR_VARS)
 
LOCAL_SRC_FILES:=/                     源文件(不需要对c源文件和c++源文件进行区分)
         xxxx.c/
         yyyy.c
LOCAL_MODULE:=test.exe             模块最终的名称
#LOCAL_MODULE:=test_static     最终会生成test_static.a(编译静态库) 
#LOCAL_MODULE:=test_share     最终会生成test_share.so(编译动态库) 
LOCAL_C_INCLUDES:=                    需包含的头文件
LOCAL_STATIC_LIBRARIES:=           需链接的静态库
LOCAL_SHARED_LIBRARIES:=         需链接的动态库
LOCAL_PREBUILT_OBJ_FILES := 对于编译静态链接库很有用哦

 
include $(BUILD_EXECUTABLE)        以一个可执行程序的方式进行编译
#include $(BUILD_STATIC_LIBRARY)  编译静态库
#include $(BUILD_SHARED_LIBRARY) 编译动态库
 
 
可执行程序、静态库、动态库生成的编译结果分别在以下目录中:
out/target/product/generic/obj/EXECUTABLE/xxx_intermediates
out/target/product/generic/obj/STATIC_LIBRARY/xxx_static_intermediates
out/target/product/generic/obj/SHARED_LIBRARY/xxx_shared_intermediates
 
如果想编译主机的内容,使用的宏如下:
include $(BUILD_HOST_EXECUTABLE)        以一个可执行程序的方式进行编译
include $(BUILD_HOST_STATIC_LIBRARY)  编译静态库
include $(BUILD_HOST_SHARED_LIBRARY) 编译动态库
 
指定目标安装路径:
LOCAL_MODULE_PATH:=$(TARGET_ROOT_OUT)
LOCAL_UNSTRIPPED_PATH:=$(TARGET_ROOT_OUT_UNSTRIPPED)
 
TARGET_ROOT_OUT      表示根文件系统 路劲:out/target/product/generic/root 
TARGET_OUT (默认)       表示system文件系统  路径:out/target/product/generic/system
TARGET_OUT_DATA      表示data文件系统    路径: out/target/product/generic/data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android编译