Android.mk 编写

拷贝头文件LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
LOCAL_COPY_HEADERS_TO   := common/inc
LOCAL_COPY_HEADERS      := ../inc/armasm.h
LOCAL_COPY_HEADERS      += ../inc/comdef.h
include build/core/copy_headers.mk
编译库LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= helloworld
LOCAL_SRC_FILES := helloworld.c
include $(BUILD_SHARED_LIBRARY) / $(BUILD_STATIC_LIBRARY)
编译二进制应用程序LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= main.c
LOCAL_MODULE:= test_exe
LOCAL_C_INCLUDES :=
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES :=
include $(BUILD_EXECUTABLE)
编译APKLOCAL_PATH:= $(call my-dir)                                                                                                 
include $(CLEAR_VARS)                                                                                                                                                                                                                                 
LOCAL_MODULE_TAGS := optional                                                                                                                                                                                                                        
LOCAL_SRC_FILES := $(call all-subdir-java-files)                                                                                                                                                                                                     
LOCAL_PACKAGE_NAME := Test2                                                                                                 
LOCAL_CERTIFICATE := platform                                                                                                                                                                                                                       
include $(BUILD_PACKAGE)                                                                                                    
                                                                                                                            
# additionally, call tests makefiles                                                                                        
include $(call all-makefiles-under,$(LOCAL_PATH)) 
编译子目录all-subdir-makefiles
返回一个位于当前'my-dir'路径的子目录列表。例如,看下面的目录层次:
sources/foo/Android.mk
sources/foo/lib1/Android.mk
sources/foo/lib2/Android.mk
如果sources/foo/Android.mk包含一行:
include $(call all-subdir-makefiles)
那么它就会自动包含sources/foo/lib1/Android.mk 和sources/foo/lib2/Android.mk
C++改文件后缀名LOCAL_CPP_EXTENSION
这是一个可选变量,用来指定C++代码文件的扩展名,默认是'.cpp',但是你可以改变它,比如:LOCAL_CPP_EXTENSION := .cxx
LOCAL_C_INCLUDESLOCAL_C_INCLUDES := $(LOCAL_PATH)/../foo
需要在任何包含LOCAL_CFLAGS / LOCAL_CPPFLAGS标志之前。
LOCAL_CFLAGSLOCAL_CFLAGS
可选的编译器选项,在编译C代码文件的时候使用。
这可能是有用的,指定一个附加的包含路径(相对于NDK的顶层目录),宏定义,或者编译选项。
LOCAL_CPPFLAGSLOCAL_CPPFLAGS
与LOCAL_CFLAGS相同,但是对C 和 C++ source files都适用。
LOCAL_STATIC_LIBRARIESLOCAL_STATIC_LIBRARIES
应该链接到这个模块的静态库列表(使用BUILD_STATIC_LIBRARY生成),这仅仅对共享库模块才有意义。
LOCAL_SHARED_LIBRARIESLOCAL_SHARED_LIBRARIES
这个模块在运行时要依赖的共享库模块列表,在链接时需要,在生成文件时嵌入的相应的信息。
注意:这不会附加列出的模块到编译图,也就是,你仍然需要在Application.mk中把它们添加到程序要求的模块中。
LOCAL_LDLIBSLOCAL_LDLIBS
编译你的模块要使用的附加的链接器选项。这对于使用”-l”前缀传递指定库的名字是有用的。例如,下面将告诉链接器生成的模块要在加载时刻链接到/system/lib/libz.so
LOCAL_LDLIBS := -lz
LOCAL_MODULE_PATHLOCAL_MODULE_PATH和LOCAL_UNSTRIPPED_PATH来指定。不同的文件系统路径用以下的宏进行选择
TARGET_ROOT_OUT:表示根文件系统。
TARGET_OUT:表示system文件系统。
TARGET_OUT_DATA:表示data文件系统。
用法如:
LOCAL_MODULE_PATH:=$(TARGET_ROOT_OUT)
编好的库编进Androidinclude $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS := libaacenc.a
include $(BUILD_MULTI_PREBUILT)
编好的二进制编进AndroidLOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
   
LOCAL_SRC_FILES := hellovprc.elf  
LOCAL_MODULE := hellovprc.elf 
LOCAL_MODULE_CLASS := EXECUTABLES 
LOCAL_MODULE_TAGS := debug 
include $(BUILD_PREBUILT) 
拷贝文件更容易的方式是:
$(call add-prebuilt-files, ETC, pv_player.cfg)
它会将pv_player.cfg copy to system/etc下,还可以设定类型:
ETC,APPS,EXECUTABLES,SHARED_LIBRARIES,STATIC_LIBRARIES
 
add-prebuilt-files的定义是在build/core/definitions.mk下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值