android prebuilt

来源:互联网 发布:域名取消隐私保护 编辑:程序博客网 时间:2024/05/16 10:15
如果把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下

=========================================================================



对于Android系统集成有源码的第三方库和程序,只需要提供Android.mk文件,把源码集成到Android编译系统中就可以了,并且有很多例子可以参考。但是对于没有源码的pre-build第三方库和程序,网上介绍的比较少,可以参考的例子也不多。本文简单介绍一下集成pre-build库和程序时候,怎样编写Android.mk。
1、集成静态库

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_PREBUILT_LIBS := libA.a \                     libB.aLOCAL_STATIC_LIBRARIES := libA \    libBinclude $(BUILD_MULTI_PREBUILT)

2、集成动态库

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_PREBUILT_LIBS := libA.solibB.soinclude $(BUILD_MULTI_PREBUILT)

3、集成可执行程序 1: LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)LOCAL_SRC_FILES := hellovprc.elfLOCAL_MODULE := hellovprc.elfLOCAL_MODULE_CLASS := EXECUTABLESLOCAL_MODULE_TAGS := debuginclude $(BUILD_PREBUILT)

4、集成pre-build Android应用程序(APK)

貌似原文没写  转不到


原创粉丝点击