首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android.mk中的新手:Android.mk中的定义

Android.mk中的新手:Android.mk中的定义
EN

Stack Overflow用户
提问于 2013-11-05 12:34:06
回答 2查看 10.2K关注 0票数 10

我是Android NDK的新手。我知道在每个jni/文件夹中,都有Android.mk文件,似乎总是以:

代码语言:javascript
复制
LOCAL_PATH := $(call my-dir)

它定义了LOCAL_PATH,但是如果将其转换为人类可读的启动,这条路径是什么?LOCAL_PATH是指向jni/文件夹还是项目根?

例如,我导入了一个使用NDK的Android项目,我检查了它的Android.mk文件,它有如下内容:

代码语言:javascript
复制
LOCAL_PATH := $(call my-dir)
...
MY_PLUGINS := XXX YYY ZZZ

MY_PATH := $(LOCAL_PATH)/other/something

问题1LOCAL_PATH := $(call my-dir)是什么意思,它指向的路径是什么?

问题2,我在哪里可以找到那些MY_PLUGINS,我的意思是XXX,YYY和ZZZ,至少我在导入的项目中看不到它。

问题3,在哪里可以找到MYPATH定义的something?我在项目中也没看到。

P.S.:(我试图在jni/other/something下找到它,但没有这样的文件)。顺便问一下,Android.mk中使用的脚本语言的名称是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-05 13:56:32

这里最好的资源可能是NDK文档本身。它不是托管在网络上的(不幸的),但它是与NDK一起发布的。检查下载的NDK中的android-ndk-rX/documentation.html文件。

问题1:来自文档的Android.mk File部分:

LOCAL_PATH := $(打电话给my-dir) Android.mk文件必须从LOCAL_PATH变量的定义开始。它用于在开发树中定位源文件。在本例中,构建系统提供的宏函数'my-dir‘用于返回当前目录的路径(即包含Android.mk文件本身的目录)。

问题2和问题3:这些变量不是Android.mk文件中的“通常”变量。它们是用户定义的变量,如果没有更多关于您正在使用的项目的详细信息,就很难了解它。据我所知,MY_PATH确实应该指向jni/other/something

关于您的P.S.,我不认为Android.mk文件是用任何特定的已知语言编写的:它是一种自定义语言,与Makefile有一些相似之处。

希望这能帮点忙!

票数 10
EN

Stack Overflow用户

发布于 2014-03-19 06:31:33

Q-1

Android.mk文件必须从LOCAL_PATH变量初始化开始。

LOCAL_PATH包含“Android.mk make的路径”,在大多数情况下它将出现在工作目录中。

$(调用my-dir)是调用宏函数"my-dir",在/build/core/finitions.mk中定义的,您可以检查宏的定义,它找到ndk-build脚本的目录才能开始工作。

Q-2

Android.mk允许用户定义局部变量,"MY_PLUGINS“是包含插件列表的局部变量,"XXX YYY”是他/她可能在Android.mk文件中使用的插件列表。

以下是定义局部变量的限制

  1. 以LOCAL_开头的名称(例如,LOCAL_MODULE)
  2. 以PRIVATE_、NDK_或APP_开头的名称(内部使用)
  3. 小写名称(内部使用,例如my-dir)

建议使用MY_前缀来定义局部变量。

Q-3

同样,MY_PATH是一个局部变量,它包含指向“/ this / other”文件夹的绝对路径,现在这个路径可以包含"XXX YYY“插件或其他一些有用的内容。

希望这能有所帮助

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19789142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档