android - 如何使用实验性 Gradle 包含头文件?

标签 android gradle android-gradle-plugin eclipse-adt

我正在尝试使用实验性插件编译 native 代码。此代码引用驻留在不同位置的头文件 在过去的 Android.mk 时代,我只需添加 LOCAL_C_INCLUDES 并将其指向头文件的位置。

但是当我没有 Android.mk 时,如何通过 gradle 构建脚本来做到这一点? gradle 中 LOCAL_C_INCLUDES 的等效项是什么?

我试过了

android.ndk { 
   moduleName = "mymodule"
   cppFlags.add("-I${file("C:\\Android\\JNI\\inc")}".toString()) 
}

但是没有成功。

找不到头文件:“my_file.h没有这样的文件或目录。”

最佳答案

你到底想做什么?如果您需要将头文件添加到您的mymodule库中,您可以修改:

sources {
    main {
        jni {
            exportedHeaders {
                srcDir "src/main/headers"
            }
        }
    }
}

属性。

但如果您想添加外部包含文件夹,则需要提供更多信息。一般来说,这并不像添加一些外部目录那么简单。请记住,您正在交叉编译。每个平台的这些 header 都相同吗?如果是这样,那就没问题,但是如果您需要链接库,则必须在链接器参数中包含它们的路径。您应该查看experimental android native gradle plugin .

关于android - 如何使用实验性 Gradle 包含头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150633/

相关文章:

android - 在 Android Studio 的项目 'keyStorePath' 上找不到属性 ':app'

android - 安装 Firebase 时出现最低支持的 Gradle 版本错误

android - Android 上的 Wifi 感知和 Wifi P2P 之间的区别?

java - 为什么 Android Studio 3.5.1 中 GridLayout 的声明与早期版本的 Android Studio 不同?

android - 如何创建一个android库并将其上传到github?

tomcat - 部署gradle项目到tomcat服务器

android - 从 SL4A 脚本启动 SL4A 脚本

spring-boot - 如何使用 gradle 下载所有 Spring Boot 依赖项

gradle - 默认情况下,任何gradle项目中都存在哪个gradle任务?

android - 无法在多口味应用程序中构建功能模块