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下
2、集成动态库
3、集成可执行程序 1: LOCAL_PATH := $(call my-dir)
4、集成pre-build Android应用程序(APK)
如果在编译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)
貌似原文没写 转不到
- android prebuilt
- android ndk Using Prebuilt Libraries
- android提供的共享库(Prebuilt)
- 关于Android.mk中PREBUILT的问题
- Android 关于prebuilt编译学习笔记
- Android kernel build from source code and from prebuilt
- I.MX6 pre-install a prebuilt APK file to Android system
- phantomjs-prebuilt 安装失败
- 物化视图 on prebuilt table
- 使用 on prebuilt table 创建物化视图
- pandaboard移植prebuilt版的androidb
- NDK提供的共享库(Prebuilt)
- Oracle物化视图3 - Prebuilt MV
- compile/link prebuilt nonstatic java library failed?
- NDK提供的共享库(Prebuilt)
- NDK提供的共享库(Prebuilt)
- Do odex for prebuilt apk in kitkat
- NDK提供的共享库(Prebuilt)
- 策略模式
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- C语言For循环详解
- 一种ping pong请求导致的超时
- Fusker - A NodeJS Security Framework
- android prebuilt
- ASP.NET的UrlRewrite URL重写伪静态实例
- 计算机上不能注册 Microsoft.Jet.OLEDB.4.0 的解决方法
- js表格(创建,换色,点击)
- 学习笔记
- SAX解析XML文档特点及样例
- 智能手机基础知识扫盲什么是RIL
- 多线程中保证线程安全之Lock用法探索
- java io 操作