Android JNI学习笔记(三)-编译文件Android.mk、Application.mk 与camke

1. 前言

在android2.2中,加入了cmake编译,而以前都是用Android.mk、Application.mk的,今天就来记录下,他们的配置选项。

2. Android.mk

Android.mk在jni目录下,用于描述构建系统的源文件以及
shared libraries 。文件格式如下:

  • 以LOCAL_PATH变量开始 LOCAL_PATH := $(call my-dir)
  • 紧接着是CLEAR_VARS变量 include $(CLEAR_VARS)
  • 接下来LOCAL_MODULE变量,定义来将要输出的so文件的名,默认情况下,输出的so为 lib+LOCAL_MODULE变量值+.so,如果变量值前面有了lib,就不会加了,或者变量值后面有.xxx,也会去掉。
  • 接下来是LOCAL_SRC_FILES变量,声明我们的原文件路径,如LOCAL_SRC_FILES := hello-jni.c
  • 最后一行是帮助构建系统联系在一起的。include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := hello-jni

LOCAL_SRC_FILES := hello.cpp

include $(BUILD_SHARED_LIBRARY)

当然,上面只是一个最简单的,下面我们来介绍其他的一些变量和宏。

构建系统提供了许多变量和宏,当然 也允许我们自定义,内置的有以下三种:

  • 以LOCAL_开始,如LOCAL_MODULE
  • 以PRIVATE_, NDK_, or APP
  • 小写字母,如 my-di

如果要自定义的话,建议MY_开头。

2.1 NDK 默认的变量
  • CLEAR_VARS 用来在描述新model之前引入这个脚本,会清除之前的值 include $(CLEAR_VARS)
  • BUILD_SHARED_LIBRARY,告诉构建系统去收集声明的LOCAL_变量的值,然后输出成so include $(BUILD_SHARED_LIBRARY)
  • BUILD_STATIC_LIBRARY,和BUILD_SH
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值