问题标签 [android.mk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3338 浏览

android - Adding a compiler flag to only one file in Android.mk

I have an Android.mk file that has a number of files for which LOCAL_CFLAGS get applied to them. I would like to apply a different flag to only one of the files out of the many. How can this be accomplished?

I searched the internet from the Android perspective, but didn't find a whole lot. Considering the following example I would like to apply flag TEST3 to file test3.c only. I looked at Per-file CPPFLAGS in Android.mk, but I couldn't find anything as far as how to use PRIVATE_CPPFLAGS to one file. Any ideas?

0 投票
0 回答
266 浏览

android - psqlDroid & postgreSQL 8.4.1 & Android & full-eng & make psql 失败

我想用 psqlDroid(用于模拟器)制作一个 android 平台。 我按照以下说明进行操作:

  1. 下载并配置 Android 源代码树

  2. 下载 postgresql-8.4.1

  3. 下载 psqldroid 补丁

  4. 提取 postgres 存档并将目录移动到external/postgresqlAndroid 源代码树下

  5. 切换到external/postgresql目录

  6. 应用 psqldroid 补丁

  7. sh create-symbolic-links.sh

  8. 切换到android源码树的根目录

  9. make psql

结果如下:

所以我打开并签出Android.mk路径中的文件,external/postgresql/src/interfaces/psql/.

我找不到定义LOCAL_MODULE_TAGS的 .

有谁知道如何解决这个问题?

请帮我。我准备好仔细聆听任何建议。

如果我错过了什么,请告诉我。我会附上任何东西。

有一个非常美妙的一天!

0 投票
1 回答
314 浏览

shell - 如何将由 ShellScripts 生成的宏定义传递给 Android.mk 中的源代码

使用 Android NDK,我想在我的 c++ 源代码中获取 git 版本。所以我像这样实现我的功能:

在 Android.mk 中:

在 get_version.sh 中:

我的问题是:

当我第一次构建我的程序时,它可以工作。但是当我提交我的更改并且 git 版本已经更改时,编译器没有构建我的源代码。函数 GetGitVersion 返回以前的版本。为什么?有没有其他方法可以实现我的要求?</p>

对不起,我的英语很差!

0 投票
1 回答
1100 浏览

android - 使用json时为android编译cocos2d-x项目报错

我正在使用cocos2d-x版本3.3rc 在我的一些课程中,#include "cocos2d/external/json/writer.h" 当我想编译我的项目以制作 android apk 时,通过运行build_native.py脚本,它向我显示以下错误:

但我使用以下语法将其文件包含在我的 android.mk 文件中:

这是完整的 android.mk 文件:

我该如何解决这个问题?

0 投票
0 回答
583 浏览

android - 如何强制文件始终使用 Android.mk 构建?

我有一个使用 NDK 为 Android 构建的 C++ 文件,并且每次在目录中构建时都需要构建该文件,即使该文件没有更改,因为该文件依赖于一些-D标志,这些标志会随着每个构建而改变指示构建时间戳和构建 SVN 版本。

在 Linux 上使用gmake,我有一个永远不会满足的规则,所以文件总是构建。在 Android 上,我使用的是Android.mkmakefile,我需要知道如何强制文件始终构建,也许以类似的方式使用永远不会满足的依赖项,但我不确定这在 Android.mk 中是如何完成的文件?

类似的规则似乎没有达到预期的效果(没有看到效果):

0 投票
0 回答
453 浏览

android - 包含 Protobuf 库 - cocos2dx

嗨,我想将 protobufs 添加到我的项目中。到目前为止,我只尝试使用 android 并且到目前为止还没有幸运。

我已将我的库:libprotobuf.a、libprotobuf-lite.a、libprotoc.a 放在“Protobuf”文件夹中,就在可以找到“Classes”文件夹的位置。我生成了一个名为“Msg.pb.cc”的 Proto 并将其放在 Classes 文件夹中。我已将 Protobuf .h 文件放在类文件夹中。即类/google/protobuf/....

这就是我的 Android.mk 现在的样子。

一旦编译 Msg.pb.cc,我就会收到很多错误。这里有几个:

不知何故,我猜这些文件没有链接。代码找不到 protobuf 库。我不知道 Android.mk 文件是如何编写的,并且对 cpp 也没有太多经验。这只是一些谷歌搜索和阅读原始 Android.mk 文件的结果。任何帮助表示赞赏。

-cocos2dx-2.2.5
-eclipse+ADT。
-sdk 5.0.1
-ndk r8e

0 投票
2 回答
1372 浏览

c - 如何在 Android.mk 中包含父目录包含路径?

我正在使用 NDK 构建,并且无法在包含路径中获取父目录。我试过这个:

但这不起作用,显然..没有像我预期的那样处理。我跑去make -n查看生成的命令,其中包含我想要的内容:

但是它失败了,尽管如果我手动将其编辑为:

它工作正常。我应该在Android.mk文件中放入什么以在不使用的情况下将父目录包含在搜索路径中..

问题是这popt是一个符号链接,所以父目录..不是module.

0 投票
1 回答
268 浏览

c - Android.mk 根据文件更改本地 C 包含目录

我正在为 android 构建一个动态库 (.so) 文件,其中包含大约 100 个本地 c 文件。这些文件都包含一个文件c_macros.h,但c_macros.h不同文件组的问题会发生变化。例如,foo0.candbar0.c需要包含c_macros.h在目录中0/,而foo1.candbar1.c需要包含c_macros.h在目录中1/

我看到可以LOCAL_C_INCLUDES为整个编译定义,以便所有 .o 文件都将使用这些本地包含。但是,可以LOCAL_C_INCLUDES为单个文件(或一组文件)指定然后更改以便可以为正确的文件包含正确的目录吗?

一种解决方案是根据c_macros.h正在使用的文件构建不同的 .so 文件,但这会为每个 .so 文件增加大约 10KB 的开销,所以如果可能的话,我想将所有内容压缩到一个大的 .so 文件中,但随后我需要解决这个LOCAL_C_INCLUDES问题。

0 投票
1 回答
97 浏览

makefile - 如何构建 POSIX 线程 API

我正在尝试使用 android lollipop 源代码构建供应商特定的 RIL。我的 RIL 使用运行时端口访问。 使用“尝试使用 mm 构建时”命令LOCAL_LDLIBS += -lpthread 中的一个标志构建运行时端口访问文件 ,根据以下日志出现错误。Android.mk

请建议我如何解决这个问题。

0 投票
1 回答
98 浏览

java-native-interface - 需要更好地理解 Andorid.mk

我已经阅读了所有的 Android.mk 介绍,并在这个论坛上查看了一些关于它的帖子。而且仍然不确定如何将其应用于我正在尝试做的事情。我只是想访问本机库文件,其中一些位于我的 JNI 目录下的几个级别。我所做的是在我的 JNI 目录中放置一个符号链接到我的源,称为 tbd,并将以下行放入我的 Android.mk

我不知道如何查看 tbd 目录中的某些文件。我正在尝试在 libc direcoty 中的文件中调用一个函数,该文件位于我的 jni 文件夹下的几个级别,我收到消息“找不到文件”。我看到一个帖子,其中有人提出以下建议:

这是否意味着我必须为/tbd中的每个目录执行此操作?必须有一种更有效的方法来做到这一点。

别人建议...

我什至无法理解这一点:-( % 在这一行中做了什么?有人能解释一下这个命令在做什么吗?

@alijandro; 谢谢。所以我只需要找出我有多少级别的目录结构。嘿,您知道静态库或共享库吗?Android.mk 文档说“BUILD_SHARED_LIBRARY 是构建系统提供的一个变量,它指向一个 GNU Makefile 脚本,该脚本负责收集你在 LOCAL_XXX 变量中定义的所有信息,因为最新的‘include $(CLEAR_VARS)’并确定什么构建,以及如何准确地做到这一点。”所以我不知道它会如何做这一切或它意味着什么的细节。它可能会对提到的源文件进行递归搜索吗?