华新科 Walsin · 产品与技术资料捷比信主站 · 综合产品与服务
华新科 Walsin电容、电阻与电感
捷比信产品咨询0797-4282799

Android系统的Android.mk学习摘要

单击上方的嵌入式开发圈,并记住关注我们! 1.将当前模块的编译路径设置为当前文件夹路径LOCAL_PATH:= $(call my-dir)2.清理编译环境中使用的变量(可能已由其他模块设置)包括$(CLEAR_VARS )3.模块编译变量变量用途LOCAL_SRC_FILES当前模块中包含的源代码文件LOCAL_MODULE当前模块的名称。这个名字应该是唯一的。
模块之间的依赖关系是此名称引用的LOCAL_C_INCLUDES C / C ++语言所需的头文件的路径。 LOCAL_STATIC_LIBRARIES当前在静态编译模块时,静态库LOCAL_SHARED_LIBRARIES在运行时当前模块依赖的动态库LOCAL_CFLAGS C / C ++编译器参数包括$(BUILD_EXECUTABLE)#-I $(LOCAL_C_INCLUDES)指定头文件搜索路径#- l $(LOCAL_SHARED_LIBRARIES)由指令gcc链接的动态库$(LOCAL_CFLAGS)$(LOCAL_SRC_FILES)-o $(LOCAL_MODULE)-I $(LOCAL_C_INCLUDES)$(LOCAL_STATIC_LIBRARIES)-l $(LOCAL_LIBRARIES)Java模块取决于LOCAL_LIBRARIES当前模块当前模块依赖于Java静态库LOCAL_PACKAGE_NAME当前模块的APK应用程序的名称LOCAL_CERTIFICATE签名当前应用程序的证书的名称LOCAL_MODULE_TAGS Android.mk需要的当前模块中包含的标签,一个模块可以包含多个标签标签的值可以是debug,eng,tests,sample或可选的build / core /definitions.mk通常使用以下函数来获取上述环境变量的值:提供配置编译所需的函数$(调用my-dir)获取当前文件夹路径$(调用all-subdir-java-files)获取当前目录子目录$(下的all-java-files-under,目录)下的所有java源代码文件获取指定目录下的所有Java文件$(call all-c-files-under,目录)下的所有Java文件获取指定目录下的所有C语言文件$ (调用all-Iaidl-files-under,目录)获取指定目录中的所有AIDL文件$(调用all-makefiles-under,目录)获取指定目录中的所有Make文件。
4.模块类型BUILD_EXECUTABLE编译目录中的可用文件。目标机器执行文件(ELF)BUILD_STATIC_LIBRARY& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;目标计算机上的库(* .a& nbsp;编译时使用)BUILD_SHARED_LIBRARY& nbsp;& nbsp;& nbsp ;  & nbsp;& nbsp;& nbsp;& nbsp;在目标计算机上编译动态库文件(* .so)BUILD_JAVA_LIBRARY& nbsp;& nbsp;& nbsp;& nbsp;编译目标机器上的动态库文件Java动态库BUILD_STATIC_JAVA_LIBRARY编译目标机器BUILD_PACKAGE上的Java静态库;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;编译目标机器5上的java包,几个通用模板5.1,用于编译可执行程序LOCAL_PATH的模板:= $(call my-dir)#include $(CLEAR_VARS)LOCAL_SRC_FILES:= main。
cLOCAL_MODULE:=& nbsp; test_exe#LOCAL_C_INCLUDES:=#LOCAL_STATIC_LIBRARIES :=#LOCAL_SHARED level_LIBRARIES& nbsp;:= include& nbspEXEEXE level_LIBRARIES& nbsp; CABLE =说明:=表示赋值,$表示变量的值)LOCAL_SRC_FILES添加到源文件路径,LOCAL_C_INCLUDES添加到需要包含的头文件路径,LOCAL_STATIC_LIBRARIES添加到静态库的名称( * .a)需要链接,LOCAL_SHARED_LIBRARIES添加需要链接的动态库的名称(* .so),LOCAL_MODULE表示模块的最终名称,而BUILD_EXECUTABLE则将编译表示为可执行程序。 5.2。
编译静态库模板LOCAL_PATH& nbsp;:=& nbsp; $(call& nbsp; my-dir)& nbsp; include& nbsp; $(CLEAR_VARS)& nbsp;& nbsp; LOCAL_SRC_FILES:=& nbsp; helloworld.cLOCAL_MODULE:=& nbsp; libtest_static#LOCAL_C_INCLUDES& nbsp;:=#LOCAL_STATIC_LIBRARIES& nbsp;:=#LOCAL_SHARED_LIBRARIES& nbsp;:= include& nbLDIC STATIC STATIC上面的$(LIB)静态库。 5.3。
编译动态库模板LOCAL_PATH :=& nbsp; $(call& nbsp; my-dir)include& nbsp; $(CLEAR_VARS)LOCAL_SRC_FILES:=& nbsp;& nbsp;& nbsp;& n nbsp;& nbsp;& nbsp; helloworld.cLOCAL_MODULE:=& nbsp; libtest_sharedTARGET_PRELINK_MODULES& nbsp :: =& nbsp; false#LOCAL_C_INCLUDES。

相关资料

2021年中国IC广告牌“年度上升公司”名单公布!如何在微信上查看附近感染肺炎的人的位置(基本信息)芯片供应减少,斯巴鲁停止在日本生产变量命名仍是Google百度翻译吗?出去!共享我日常工作中常用的变量命名伪像!所述“大数据”指的是“大数据”。行业出路即将到来:产业链分化,市场容量空前提高行业测量技术的最佳选择:高精度机器视觉尺寸测量音频属性简介多引擎稳健增长阿里发布第一季度财务报告:净利润394.7亿元,月活跃用户8.74亿剧院数字音频系统的组成和发展简析谈论声场的位置,宽度和深度音频扬声器的技术特性分析入耳式耳机的优缺点分析疑似华为Mate 40 Pro后置摄像头外观暴露:“ Oreo”四枪华为MateBook的新产品配置信息已完全暴露基于SOPC的旋转LED屏幕控制系统设计。亚马逊推出新服务:允许制造商自定义Alexa语音助手Microsoft ARM PC模拟正在运行的64位程序功能崩溃Sugon协助构建“数字农业和农村大脑”。高性能光学膜在汽车显示器中的应用诺兰(Nolan)的新科幻大脑燃烧电影《信条》(Creed)解除:口碑可与“ Inception”相媲美。