问题标签 [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 回答
2326 浏览

android - C 源代码不会为 ARM 架构编译

我正在开发一个简单的可执行文件,它应该在 Android 系统启动期间运行。它使用一个小的tinydir.h库来遍历特定目录中的文件。即使它对于 x86 和 x86_64(在 OS X 上使用 gcc)编译得很好,当我尝试使用 Android 系统本身(对于 ARM)构建它时,我得到以下输出:

这是我使用的 Android.mk 文件:

关于我可以做些什么来构建它的任何想法?

提前致谢!

-- 编辑:这是 main.c 文件的剥离版本,您可以使用它来重现该问题:

0 投票
1 回答
68 浏览

android - Android.mk:从另一个共享库访问共享库中的函数

我有一个第一个共享库:

我想从第二个共享库调用第一个共享库中的一个函数:

在第一个共享库中,我有:

我在第二个共享库中调用与第一个库中定义的函数相同的函数:

在第二个库的链接过程中,Eclipse 说它找不到该函数。知道为什么吗?

由于其他一些原因,我需要将第一个库作为共享(非静态)库。

0 投票
1 回答
3698 浏览

android - 将 Tesseract 和 Opencv 添加到 Android.mk (Android Studio)

我按照这里的说明成功添加了 OpenCV。但是几天来,我也一直在尝试将 tesseract 添加到 Android.mk 中,但一直无法做到。

我有一个使用 tesseract 的android.cpp,所以我必须在我的 Android.mk 中包含依赖项。我发现这篇帖子几乎有确切的问题,他解决了它,将libtess.soliblept.so文件导入 Android.mk,但没有解释如何做到这一点,所以我查看并找到了这篇显示如何链接的帖子预建库。因此,基于此,我尝试了这个 Android.mk:

并得到了这个输出:

所以我猜是没有正确链接 libtess,如果你仔细观察,它不会安装 libtess.so,它看起来像安装liblept.so,然后跳转到text_detect.cpp,忽略这部分:

因此,我试图强制它完全安装libleptlibtess,然后再将其放入不同的文件中。因此,我将文件的最后一部分放在另一个文件夹中的不同 Android.mk 中,并尝试了 include $(call all-subdir-makefiles),然后它完全安装了 libtessliblept,但忽略了调用 all-subdir-makefiles

新的 jni 文件夹结构:

安卓.mk

文本检测/Android.mk

这是输出:

如您所见,它完美地安装了第一个 Android.mk 中的所有内容,但它从不运行 textdetect/Android.mk

那么,我做错了什么?我怎样才能完成这个看似简单的任务?有没有更简单的方法?

编辑:

在@ph0b 响应之后,我回到我的第一个设置并添加了与原始 MakefileLOCAL_EXPORT_C_INCLUDES相同的内容(有几个变体使其适应我的路径),并且解决了它。它找不到,因为它不知道在哪里寻找它。platform.h

现在,在我进行此更改后,我遇到了一个不同的错误,我认为这是因为它在依赖它No such file or directory #include "com_googlecode_tesseract_android/src/api/baseapi.h"之前没有编译 tesseract 。run_detection好吧,这不是问题,它仍然run_detection在 tesseract 之前编译,但这不是问题,它要简单得多,而且我觉得在这个错误上花了这么多时间很愚蠢。问题是它没有找到com_googlecode_tesseract_android/src/api/baseapi.h,因为我也没有提供路径,所以我从tess-twocom_googlecode_tesseract_android复制了and并添加到. 这是我的最终解决方案:com_googlecode_leptonica_android$(LOCAL_PATH)LOCAL_EXPORT_C_INCLUDES

jni文件夹结构:

安卓.mk

0 投票
1 回答
130 浏览

android - 如何使用 Androidndk 为 android 构建 CLM

我正在尝试为 android 构建 CLM。我创建 Android.mk 文件,同时构建它的抛出异常我的 android.mk 文件看起来像这样

构建这个 mk 文件文件我遇到了异常

在 /Documents/Mk/C-Projects/CLM/include/CLM_utils.h:9:0 包含的文件中,来自 jni/CCNF_patch_expert.cpp:3:/Documents/Mk/C-Projects/CLM/include/CLM.h :170:15: 错误: '&&' 标记 CLM(const CLM&& other) 之前的预期',' 或'...' ^ /Documents/Mk/C-Projects/CLM/include/CLM.h:170:23:错误:无效的构造函数;你可能的意思是'CLMTracker::CLM (const CLMTracker::CLM&)' CLM(const CLM&& other) ^ /Users/hubmaci7/Documents/Mourish/SWIG/C-Projects/CLM/include/CLM.h:192:28:错误:在 '&&' 标记 CLM & operator= (const CLM&& other) 之前预期的 ',' 或 '...' ^ /Documents/Mk/C-Projects/CLM/include/CLM.h: 在复制构造函数 'CLMTracker: :CL::
for(std::map>::const_iterator it = other.kde_resp_precalc.begin(); it!= other.kde_resp_precalc.end(); it++) ^ /Documents/Mourish/SWIG/C-Projects/CLM/include/CLM .h:124:60: 错误: '>>' 应该是 '> >' 在嵌套模板参数列表中 this->kde_resp_precalc.insert(std::pair>(it->first, it->second.clone( )));^ /Documents/Mk/C-Projects/CLM/include/CLM.h:在成员函数'CLMTracker::CLM& CLMTracker::CLM::operator=(const CLMTracker::CLM&)'中:/Documents/Mk/C- Projects/CLM/include/CLM.h:158:33: 错误:'>>' 应该是 '> >' 在嵌套模板参数列表中 for(std::map>::const_iterator it = other.kde_resp_precalc.begin( ); 它!= 其他。kde_resp_precalc.end(); 它++)

请帮我找到正确的解决方案来为 android 构建 clm

0 投票
1 回答
49 浏览

android - 如何编写 Android.mk 脚本?

如何将 libso1.so 和 libso2.so 编译成 libmyso.so?因此,我只能在java代码中加载libmyso.so,不需要分别加载libso1.so和libso2.so。

0 投票
1 回答
315 浏览

android - 为android构建可执行文件

我正在尝试为 android 构建一个 hello world 可执行文件。我的test.c:

我的安卓.mk:

我的应用程序.mk:

我运行了 ndk-build 并在 libs 的单个目录中得到了 7 个可执行文件 - arm64-v8a armeabi armeabi-v7a mips mips64 x86 x86_64 当我运行文件命令时,我得到了

但是当我将它推送到 adb shell 并执行它时,我得到一个错误:

我应该怎么做才能让它工作?

0 投票
2 回答
575 浏览

android - Android:加载预建库 - 循环依赖被丢弃

我正在尝试将一个模块导入我的项目。

模块中的 Android.mk:

libfromhere.so 由 ndk-build 构建

Android.mk 在我的项目中:

当我运行 ndk-build 时,出现错误

我不明白为什么会出现这种循环依赖。我遵循了正确的语法。

0 投票
1 回答
1325 浏览

android - 尝试在 Android 上使用 OpenGL 上下文设置 SDL。收到错误消息“加载 eglChooseConfig 失败”

我正在尝试在 android 上运行我的第一个 SDL hello-world 项目。我使用 SDL 源码包中提供的 android 项目模板,它使用一个名为 SDLActivity 的类与 android 和原生 c/c++ 代码进行通信。我将它们导入 Eclipse android 项目,然后稍微修改 AndroidManifest.xml、文件夹 jni 中的 Application.mk 和文件夹 jni/src 中的 Android.mk。

项目编译成功。但是当它在模拟器上运行时(我使用 GenyMotion),我在 logcat 中收到错误消息。

我也尝试在真实设备上进行调试。我收到了这条消息:

我尝试添加“System.loadLibrary("EGL");” 在 SDLActivity.java 中。不行。

这是我在 jni/src 中的 Android.mk

0 投票
1 回答
538 浏览

android - 我如何构建/hardware/libhardware/tests/nusensor?

我只是 Android 的初学者,我正在使用 kitkat(4.4.4) 源。

当我尝试构建 android(不是内核)时,总是不要构建

这就是为什么我无法找到名为 test-nusensor 的结果可执行文件,尽管我需要它。

如何在该目录中构建该文件?以及如何执行构建结果?

0 投票
3 回答
11783 浏览

android - Android.mk 中的 aar 支持

我现在正在做android自定义ROM开发。aosp 的构建系统是基于 Android.mk 的,但是我想包含一些 aar 库,是否可以在 Android.mk 中包含 aar 库?