Android增加本地可执行程序或者库的Makefile模板参考
来源:互联网 发布:如何保存淘宝视频 编辑:程序博客网 时间:2024/06/10 13:39
Android.mk具有统一的写法,主要包含了一些系统公共的宏。
选项参考以下文件:
build/core/config.mk
默认的值在以下文件中定义:
build/core/base_rules.mk
在一个Android.mk中也可以生成多个可执行程序、动态库或者静态库,需要将源程序文件和它的Android.mk文件放在同一个文件夹下面,如下:
可执行程序的Android.mk:
# Test Exe
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)
静态库(归档文件)的Android.mk:
# Test Static lib
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
helloworld.c
LOCAL_MODULE:= libtest_static
#LOCAL_C_INCLUDES :=
#LOCAL_STATIC_LIBRARIES :=
#LOCAL_SHARED_LIBRARIES :=
include $(BUILD_STATIC_LIBRARY)
动态库(共享库)的Android.mk:
# Test shared lib
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
helloworld.c
LOCAL_MODULE:= libtest_shared
TARGET_PRELINK_MODULE := false
#LOCAL_C_INCLUDES :=
#LOCAL_STATIC_LIBRARIES :=
#LOCAL_SHARED_LIBRARIES :=
include $(BUILD_SHARED_LIBRARY)
编译通过后生成的目标文件夹分别位于以下的文件夹路径下:
可执行文件:out/target/product/generic/obj/EXECUTABLE
静态库:out/target/product/generic/obj/STATIC_LIBRARY
共享库:out/target/product/generic/obj/SHARED_LIBRARY
三种编译模板的区别如下所示:
目标的模板:可执行程序,动态库,静态库
include $(BUILD_EXECUTABLE)
include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)
如果编译主机的:可执行程序,动态库,静态库
include $(BUILD_HOST_EXECUTABLE)
include $(BUILD_HOST_SHARED_LIBRARY)
include $(BUILD_HOST_STATIC_LIBRARY)
安装路径的问题
LOCAL_MODULE_PATH和LOCAL_UNSTRIPPED_PATH
增加以下可以安装到不同的文件系统:
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增加本地可执行程序或者库的Makefile模板参考
- linux/Android常用Makefile模板(静态库、动态库,可执行程序)总结
- Android.mk增加本地程序和库的常用模版
- Android.mk增加本地程序和库的常用模版
- 一套的实用完整Makefile参考模板
- 一套的实用完整Makefile参考模板
- 可执行的android C 程序
- 用于编译可执行程序,静态库,动态库的通用的Makefile
- 从头构建android 本地C++语言可执行程序
- CMakeLists.txt中设置编译后的可执行程序优先调用本地库(和可执行程序在同一个文件夹下的库)
- Android可执行程序
- 一个opencv程序的makefile模板
- Makefile之编译多个可执行程序
- tiny210 hal 2 Android系统中增加C可执行程序来访问硬件驱动程序
- 在Android 系统中增加C 可执行程序来访问硬件驱动程序
- 在Android系统中增加C可执行程序来访问硬件驱动程序
- 调用本地系统中的可执行程序
- 查看可执行程序的依赖库
- C语言 整形指针,数组指针 传参
- HDOJ 题目2674N!Again(数学,水题)
- zoj2588(连通分量,求解无向图的割边)
- MRC工程转ARC工程小记
- VBS基础篇 - 变量(4) - 变量的存活期
- Android增加本地可执行程序或者库的Makefile模板参考
- Android Design Principles
- C++多态的实现原理
- HDU 4937 Lucky Number(枚举进制)
- Sentry的使用相关调研
- Android 异步处理 AsyncTask实现
- Maya 2015的序列号
- zoj-3802-Easy 2048 Again
- Android 去掉title bar的3个方法