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_LIBRARY
 include $(BUILD_EXECUTABLE)

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

cpp 复制代码
 LOCAL_C_ALL_FILES:= $(call all-c-files-under)  
 LOCAL_SRC_FILES :=  $(LOCAL_C_ALL_FILES)

生成多个文件配置如下

cpp 复制代码
 # 定义模块当前路径
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_LIBRARY
 include $(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_LIBRARY
 include $(BUILD_EXECUTABLE)

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

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

cpp 复制代码
LOCAL_SHARED_LIBRIES += libxxx

LOCAL_LIBRIES += libxxx
相关推荐
下位子6 分钟前
『OpenGL学习滤镜相机』- Day6: EGL 与 GLSurfaceView 深入理解
android·opengl
java干货16 分钟前
MySQL “灵异事件”:我 INSERT id=11,为什么被 UPDATE id=10 锁住了?
android·数据库·mysql
正经教主1 小时前
【App开发】ADB 详细使用教程- Android 开发新人指南
android·adb
gx23481 小时前
MySQL-5-触发器和储存过程
android·mysql·adb
六件套是我9 小时前
redission实现延时队列
android·java·servlet
00后程序员张14 小时前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone
来来走走14 小时前
Android开发(Kotlin) 扩展函数和运算符重载
android·开发语言·kotlin
wuwu_q14 小时前
用通俗易懂 + Android 开发实战的方式,详细讲解 Kotlin Flow 中的 retryWhen 操作符
android·开发语言·kotlin
天选之女wow15 小时前
【代码随想录算法训练营——Day60】图论——94.城市间货物运输I、95.城市间货物运输II、96.城市间货物运输III
android·算法·图论
沐怡旸15 小时前
【底层机制】Android对Linux线程调度的移动设备优化深度解析
android·面试