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

android - Android Studio 中的编译器和链接器标志

如何在 Android Studio 中为我的项目查看生成的编译器和链接器标志(类似于compiler output其他 IDE)?

0 投票
0 回答
1271 浏览

android - 如何在 aosp 系统应用程序中添加预构建的共享库

我的结构是

第一个 Amdroid.mk

第二个Android.mk

但这总是给我错误:

任何帮助,将不胜感激。

0 投票
1 回答
495 浏览

android-ndk - ndk-build of static lib - 为什么要构建其他文件?

我有一个项目结构如下。我想要做的就是用 SQLite 源构建一个静态库,但是由于某种原因,当我运行 ndk-build 时,它也会构建其他源——就好像它在其他位置包含 Android.mk 文件一样。

TT 是指向 /work/TT 的符号链接,其中包含许多跨平台源文件,包括 SQLite、SDL2 和其他源。

这是 jni/SQLite/Android.mk

为什么要构建其他文件?仅构建 SQLite 我需要做什么?

在命令提示符下,我位于以下文件夹中:jni/SQLite

我运行 ndk-build(与上面的 Android.mk 内容相同的文件夹)

我希望看到 sqlite3.c 是唯一编译的文件。但是不,我看到所有 SDL2 项目文件都在构建中。

编译完所有文件后,如果我再次运行 ndk-build,我会看到:

这清楚地显示了正在构建的模块 SDL2 和 main.. 但是为什么呢?

也许我应该使用:

..构建我唯一想要的 Android.mk 而不是自动搜索/构建我的 jni 文件夹?

当我这样做时,我收到以下错误,但至少看起来好像它正在尝试运行一个特定的 Android.mk:

我的 Application.mk 如下,但这在我运行 ndk-build 的 SQLite 文件夹中不存在,这是 jni/Application.mk:

更新:我试过:

..并且调试输出显示 SDL2/Android.mk 和其他 .mk 文件仍在被调用。如何停止这种递归行为,使其仅在当前文件夹中构建 Android.mk?

这是我看到的调试输出的片段:

0 投票
0 回答
67 浏览

android - Android NDK OS 依赖库

我正在为一个项目使用 Qcom OMX 解码器示例。所以我必须为不同的操作系统版本使用不同的库(.so)。这些库针对每个操作系统版本进行了预编译。我将它们加载到 Android.mk 中:

安卓.MK

这工作正常。但是如何根据应用程序运行的操作系统加载不同的库?这个库用于构建我的 NDK 项目。

目前,如果我想在 5.0.1 或 5.1.1 上运行应用程序,我必须手动编辑 Android.mk 文件

谢谢

0 投票
0 回答
59 浏览

assembly - 使用 ndk-build 编译 gmp-6.1.0 源代码时出现 asm 错误

伙计们。我想为arm平台编译gmp源代码,我已经为它编写了一个android.mk文件(只是一些src文件和c-includes)。编译/mpf/sub.c文件时出现asm错误,失败,但我在 sub.c 文件中没有找到任何 asm 代码,输出如下:

我对asm知之甚少,谁能告诉我发生了什么以及解决它的方法?我会感激你所做的一切。

0 投票
0 回答
1029 浏览

python - ndk-build 出现错误:平台的 LONG_BIT 定义出现错误(gcc/glibc 配置错误?)

我正在做交叉编译。我正在尝试 ndk 构建我的代码,当我包含Python.h时,它会导致错误LONG_BIT 定义对于平台(错误的 gcc/glibc 配置?)出现错误

我在网上找到了一些类似的案例,但问题仍然无法解决。是virtualenv的问题吗?它已经安装了一些关于 gcc 的东西。那么,有人会提出解决此问题的方法吗?

我正在使用 64 位 python 2.7。Python.h 来自 Kivy 的 python-for-android 项目。

错误:

安卓.mk

0 投票
1 回答
5709 浏览

c++ - Android.mk - 包含 OpenCV 目录,用于使用 NDK 进行本机 C++ 编译

我正在使用 NDK 将 C++/OpenCV 代码导入 Android 应用程序。首先,我不得不说,我没有学过编程,我只是一个业余的开发者,所以有很多事情我没有管理(特别是编码之外的事情)。

我将 QtCreator 用于我的 C++/OpenCV 代码,并在我的 Project.pro 中编写了这一行:

现在,我正在尝试制作“Hello World!” app 只是为了确保我可以使用我的 C++ 源代码进行编译。

根据https://developer.android.com/ndk/guides/android_mk.html,我写了这个简单的 Android.mk 文件:

在 bar.cpp 中,我有:

只是为了检查编译器是否可以找到源代码。当我尝试使用 ndk-build 构建我的 C++/OpenCV 本机代码时,我得到:

我尝试使用 LOCAL_STATIC_LIBRARIES 和 LOCAL_SHARED_LIBRARIES,但没有成功。有任何想法吗?


PS:

重要的是,我按照此示例https://gist.github.com/gnuanu/252fd406f48f7da2c1c7使用 NDK(不包括任何 OpenCV 标头)编译了一个简单的 Hello 世界。

这里有一个帖子Android.mk: how to include ffmpeg and Opencv,但它没有答案,我无法用信息解决......

0 投票
0 回答
793 浏览

android - Android Studio NDK 系统错误中打开的文件过多

目前正在通过freetype为 android ndk 编译库,但我收到此错误:

结构:

jni/Android.mk

自由类型/Android.mk

编辑:

问题解决了,不小心递归地添加了自己的文件,而不是正确的freetype/Android.mk. 有谁知道怎么加那个吗?

0 投票
1 回答
555 浏览

android - android构建系统中不再有Android.mk了吗?

我上一次从事 Android 应用程序开发是一段时间(在 Gingerbread 上)。我现在又回来了。

我已经将一个示例 hello-jni 项目继承到 Android Studio 中。但是,没有 Android.mk,我看到的是 gradle。它是一个新的构建系统,Android.mk 不再使用了吗?

0 投票
1 回答
666 浏览

c++ - 标准库包括 Android NDK

我被困了两天,试图在 CPP 中为我正在处理的项目编译一个简单的 .so 库。出于某种原因,无论我尝试什么,NDK 都会给我这个结果:

应用程序.mk

安卓.mk

以及我使用的命令(我不使用 jni 或 Android 项目)