当前位置: 首页 > news >正文

android.mk介绍

相对于Android的目前来说以前编译底层都使用Android.mk文件配置ndk,现在都使用Cmake这里我们着重介绍下Android.mk
最最基础的几个变量如下

# 定义模块当前路径
LOCAL_PATH := $(call my-dir)  
#清空当前环境变量
include $(CLEAR_VARS) 
# 生成libhell.so
LOCAL_MODULE = libhello  
#编译该模块所需的源码
LOCAL_SRC_FILES := hello.c  \hello2.c
#  编译动态库: 编译类型修改为 BUILD_SHARED_LIBRARY
#  编译静态库: 编译类型修改为 BUILD_STATIC_LIBRARYinclude $(BUILD_EXECUTABLE)

如果每天加一个c文件则设置下LOCAL_SRC_FILES 容易出现遗漏等问题,所以我们可以如下设置将所有c文件都包括进去

 LOCAL_C_ALL_FILES:= $(call all-c-files-under)  LOCAL_SRC_FILES :=  $(LOCAL_C_ALL_FILES)

生成多个文件配置如下

 # 定义模块当前路径
LOCAL_PATH := $(call my-dir)  
#清空当前环境变量
include $(CLEAR_VARS) 
# 生成libhell.so
LOCAL_MODULE = libhello  
LOCAL_C_ALL_FILES:= $(call all-c-files-under)  
LOCAL_SRC_FILES :=  $(LOCAL_C_ALL_FILES) 
#  编译动态库: 编译类型修改为 BUILD_SHARED_LIBRARY
#  编译静态库: 编译类型修改为 BUILD_STATIC_LIBRARYinclude $(BUILD_EXECUTABLE)#清空当前环境变量
include $(CLEAR_VARS) 
# 生成libhell2.so
LOCAL_MODULE = libhello2  
LOCAL_C_ALL_FILES:= $(call all-c-files-under)  
LOCAL_SRC_FILES :=  $(LOCAL_C_ALL_FILES) 
#  编译动态库: 编译类型修改为 BUILD_SHARED_LIBRARY
#  编译静态库: 编译类型修改为 BUILD_STATIC_LIBRARYinclude $(BUILD_EXECUTABLE)

将除了LOCAL_PATH := $(call my-dir) 之外的所有设置再配置一下即可

正常开发经常会遇到使用第三方库的问题我们如何使用第三方库下面是配置

LOCAL_SHARED_LIBRIES += libxxxLOCAL_LIBRIES += libxxx
http://www.lryc.cn/news/196639.html

相关文章:

  • 极光笔记 | 发送功能使用技巧分享
  • Oracle database 开启归档日志 archivelog
  • 【学一点儿前端】ajax、axios和fetch的概念、区别和易混淆点
  • 互联网Java工程师面试题·Java 总结篇·第五弹
  • 车载电子电器架构 —— 国产基础软件现在与未来
  • 在.Core中用EF添加数据库实体类
  • unigui添加ssl(https)访问的方法
  • 安防监控系统EasyCVR视频汇聚平台设备树收藏按钮的细节优化
  • 数据结构----算法--排序算法
  • Unity3D 基础——使用 Mathf.SmoothDamp 函数制作相机的缓冲跟踪效果
  • leetcode-200. 岛屿数量
  • python的搜索引擎系统设计与实现 计算机竞赛
  • Unity随笔:在Unity中使用多线程需要注意什么
  • SQL Select(选择) 语法
  • Python武器库开发-基础篇(二)
  • 在 CentOS 8.2 上安装 MySQL C/C++ 客户端库 libmysqlclient.so
  • 『C++ - STL』之优先级队列( priority_queue )
  • 简述什么是服务端包含(Server Side Include)?
  • 领英如何注册?2023超全面详细教程
  • Spring Cloud Gateway 使用 Redis 限流使用教程
  • Qt事件系统 day7
  • 微服务拆分的思考
  • DateUtil工具类记录
  • 可信执行环境简介:ARM 的 TrustZone
  • 【音视频流媒体】 3、ffmpeg、ffplay、ffprobe 超详细介绍
  • 解决kong部署自定义插件报 helloworld plugin is enabled but not installed
  • 动态数据源自定义SqlSessionFactoryBean时mybatis plus配置失效
  • 【Qt控件之QDialogButtonBox】概述及使用
  • IPv6知识概述 - ND协议
  • react-redux的connect函数实现