如果把source code放到Android下编译,可以参照其它Andorid.mk写对应的Makefile。
如果在编译Android之前已经有编译好的库或者配置文件时,如何加入到Android中呢?
Android提供了Prebuilt编译方法,两个文件prebuilt.mk和multi_prebuilt.mk,对应的方法宏是BUILD_PREBUILT和 BUILD_MULTI_PREBUILT。
prebuilt.mk就是prebuilt的具体实现,它是针对独立一个文件的操作,multi_prebuilt.mk是针对多个文件的,它对多个文件进行判断,然后调用prebuilt对独立一个文件进行处理。
如果直接用prebuilt.mk的话还是比较麻烦的,得仔细看好需要的宏,如果使用multi_prebuilt.mk会更方便些,很多它都帮忙处理了。
## prebuilt etc
#include $(CLEAR_VARS)
#LOCAL_MODULE :=
#LOCAL_MODULE_TAGS := eng
#LOCAL_MODULE_CLASS :=
#LOCAL_MODULE_PATH :=
#LOCAL_SRC_FILES :=
#include $(BUILD_MULTI_PREBUILT)
## prebuilt so/a
include $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS := *.so/*.a
include $(BUILD_MULTI_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下