【问题标题】:Application.mk is ignored by Android StudioAndroid Studio 忽略 Application.mk
【发布时间】:2015-03-11 07:53:11
【问题描述】:

我想将 c++ 标头 iostream 包含到我的 NDK 代码中。为此,我必须将 APP_STL := stlport_static (或类似的)包含到 Application.mk 文件中,如 Android ndk-build iostream: No such file or directory 中所述。

如果我使用命令行 ndk-build 编译一切正常,但是在使用 Android Studio 编译时,我仍然遇到与 iostream not found 相同的错误。看起来 application.mk 被 Android Studio 忽略了,我不知道如何在 build.gradle 中配置它。 谁能帮助我,包括使用 android studio 的 APP_STL := stlport_static?

谢谢

【问题讨论】:

  • 您是否尝试将stl "stlport_static" 添加到build.gradle 文件的ndk 部分?
  • 谢谢迈克尔,它成功了
  • @Androidme 不要忘记将您的问题标记为已回答 :)

标签: android android-ndk


【解决方案1】:

目前似乎不支持在 build.gradle 中包含 Application.mk 文件,但是在 build.gradle 的 ndk 部分下添加 stl "stlport_static" 效果很好(感谢 Michael 的快速回复)。

在 defaultConfig 部分下,添加:

    ndk {
        moduleName "app"
        stl "stlport_static"
    }

详情可见:https://groups.google.com/forum/#!topic/adt-dev/pHnST37HrlM

【讨论】:

  • 您可以包含Application.mk并只编译一个命令行并包含jni.srcDirs = [] //在您的build.gradle中禁用自动ndk-build调用以忽略Android Studio的自动构建跨度>
【解决方案2】:

对于 Gradle 2.5,它应该如下所示:

安卓.ndk { 模块名称 = “应用程序” stl = "stlport_static" }

【讨论】:

    【解决方案3】:

    对于 Gradle 4.4: 添加

    path 'jni/Application.mk'
    

    到应用程序级别 build.gradle 解决了我的问题。应该是这样的

    externalNativeBuild {
        ndkBuild {
            path 'jni/Android.mk'
            path 'jni/Application.mk'
        }
    }
    

    然后 Android Studio 会检查您的 Application.mk 文件。

    My folder structure is like this

    【讨论】:

      猜你喜欢
      • 2018-06-02
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2017-07-23
      • 2016-06-15
      • 1970-01-01
      相关资源
      最近更新 更多