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

cmake - Cmake 对比 安卓.mk

我觉得 CMake 和 Android.mk 有很多共同点,有人可以向我解释一下有什么区别吗?为什么 Google 发明了一个新的构建系统而不使用 CMake?

0 投票
1 回答
2370 浏览

android - NDK 和 libiconv

我正在尝试通过 ndk 构建 libiconv。我以前从未使用过 make 文件,所以我边走边学,并以此建议为起点:

https://groups.google.com/forum/#!msg/android-ndk/AS1nkxnk6m4/EQm09hD1tigJ

这是我的 Android.mk:

我遇到的问题是编译时不存在任何定义。 LIBDIR是到达localcharset.c时的第一个问题:

.

并且找不到configmake.h。我绕过了这个问题并遇到了更多定义相关的问题。基本上没有定义任何标志。任何人都知道我做错了什么或为什么它可能无法定义?

0 投票
3 回答
2287 浏览

android - Android.mk 复制一个 bin 到 /system/xbin

像这样 Android.mk 可以将123.bin复制到/system/bin

但我想将 123.bin 复制到/system/xbin,我该怎么做。我知道这个:

0 投票
1 回答
396 浏览

android.mk - $ 在 Android.mk 中的含义

今天早上我正在浏览 Android.mk 文件。我只是想知道下面的 $ 是什么意思

例如在 android.mk

LOCAL_PATH := $(调用我的目录)

包括 $(BUILD_SHARED_LIBRARY)

我只是怀疑我们什么时候使用 $ 来编写 android make 文件。调用先前由构建系统定义的脚本或调用宏或... 何时?

提前致谢

0 投票
1 回答
3540 浏览

android - 在 Android.mk 中使用 $(warning) 会在 Eclipse 中显示错误错误。我怎样才能解决这个问题?

我正在使用 Google 提供的 Eclipse ADT 环境开发一个 Android 项目。这个项目有一个有点复杂的Android.mk文件,很容易被错误配置。为了确保正确的构建流程并将警告和诊断消息输出到控制台输出,我依赖于$warning()命令。

命令运行良好,$warning()预期输出显示在构建控制台中;但是,Eclipse IDE 将我调用命令的行标记$warning()为有错误。这些错误按层次结构传播到 Project Explorer Navigation 窗口,其中Android.mkjni文件夹也显示为有错误。

以下是触发错误的命令示例:

尽管一切都按预期工作,但我有点迂腐,想从 IDE 中删除这些错误错误。这可能吗?

0 投票
2 回答
8653 浏览

android - android.mk LOCAL_MODULE_FILENAME 不应包含扩展名

我正在尝试从libavcodeclibavutil

之后,我创建了 Android.mk 文件,如下所示:

jni/Android.mk包含

jni/libavcodec/Android.mk包含

jni/libavutil/Android.mk包含 LOCAL_PATH:= $(call my-dir)

尽管错误相似,但此处解决的问题与我所面临的问题无关。

我得到的错误是:

请帮忙!![所以我经常遇到无头问题!!]

0 投票
1 回答
2166 浏览

android - Android.mk 无法与 libcrypto 链接

案子:

我正在构建一个使用libcrypto和的应用程序libssl。我正在尝试使用预构建libcrypto.solibssl.so编译我的应用程序。

但我不断收到未定义的参考错误。

我的应用程序/Android.mk

我的应用程序/mylibssl/Android.mk

构建 mylibssl [来自预构建的 libssl.so]

我的应用程序/mylibcrypto/Android.mk

构建 mylibcrypto [来自预构建的 libcrypto.so]

我不断得到

我花了几个小时试图弄清楚并且完全被卡住了。请帮忙!

0 投票
1 回答
200 浏览

android - 在 c 中求和本机方法 - java.lang.UnsatisfiedLinkError:未找到本机方法

我正在尝试制作 NDK 应用程序,但我收到此错误 java.lang.UnsatisfiedLinkError: Native method not found: com.examplejni.MainActivity.sum:(II)I

我想从我的 android 应用程序中调用一个用 c 编写的 sum 函数

我错过了一个步骤吗?

这是c文件(sum.c)

这是Android.mk

这是我的活动

0 投票
2 回答
10685 浏览

android - Android NDK - 附加包含目录

我正在使用 Android NDK 构建共享库。我从我的 Android.mk 文件中包含了一个片段,这给我带来了一些问题。

我的 spatialite.c 文件包含一些位于应用程序项目文件夹外部文件夹中的头文件。如上所示,我已将该文件夹包含在 LOCAL_C_INCLUDES 中,但是在运行 ndk-build 时,它仍然无法找到这些包含。允许 ndk-build 命令识别这些包含的位置的正确方法是什么。任何帮助将不胜感激。

更新:

我想补充一点,spatialite 本身不需要对 Java 层可见。此后,我将构建另一个使用 spatialite 的模块。我不确定这是否会影响我在 Android.mk 文件中声明模块的方式。

编译器输出如下所示: jni/spatialite.c:102:20: fatal error: geos_c.h: No such file or directory #include

在 spatialite.c 中导入的 .h 文件位于 C:/projects/externalappsdk/include。spatialite.c 和 Android.mk 位于 C:/mobile/myandroidproject/jni/

我的 spatialite.c 文件中的 include 指令如下所示:

答案:我设法在克里斯提供的答案的帮助下完成了这项工作,我已经接受了这些答案。但是,我必须对 Android.mk 文件进行一项更改,如下所示:

请注意,LOCAL_C_INCLUDES 向后两级而不是三级。

0 投票
1 回答
5461 浏览

android - 依赖于另一个模块的 Android NDK 模块

我有一个使用 Android NDK 编写的 android 项目。在项目中,我使用了两个预构建的共享库(GpkgSDK 和 spatialite)并构建了另外两个共享库(WFSHelpers 和 com_example_gpkgviewer_jni_WKTConverter)。与应用程序的 Java 级别交互的唯一库是 com_example_gpkgviewer_jni_WKTConverter 库。

库之间的依赖关系如下图所示:

  • WFSHelpers 依赖于 GpkgSDK 和 spatialite
  • com_example_gpkgviewer_jni_WKTConverter 依赖于 WFSHelpers

我遇到的问题是,当我尝试运行 ndk-build 时,在尝试构建 com_example_gpkgviewer_jni_WKTConverter 库时会收到很多未定义的引用。其他库已成功构建。我通常解决这些未定义引用的方法是在我的 com_example_gpkgviewer_jni_WKTConverter 模块定义中包含以下内容:

我不确定是否还需要包含 WFSHelpers 所依赖的库,如下所示:

我也像这样以不同的顺序尝试过它们,但它似乎并没有解决我的问题:

  • LOCAL_SHARED_LIBRARY := GpkgSDK spatialite WFSHelpers

我的 Application.mk 包含在下面:

我的 Android.mk 如下所示:

我得到的未定义参考错误的示例如下所示:

com_example_gpkgviewer_jni_WKTConverter.cpp 中导致此错误的代码行如下所示:

关于如何解决依赖关系的任何建议。