【问题标题】:Gradle-experimental includesGradle-实验性包括
【发布时间】:2015-08-29 10:39:04
【问题描述】:

什么是 build.gradle 等价物:

LOCAL_C_INCLUDES := \
    $(LOCAL_PATH)/include/ \
    $(LOCAL_PATH)/lib/ \
    $(LOCAL_PATH)/libcharset \
    $(LOCAL_PATH)/libcharset/include/ \

可以在 Android.mk 中找到。

我尝试过各种形式的jni.source.srcDirs

文档定义:

model {
    android {
        compileSdkVersion = 22
        buildToolsVersion = "22.0.1"
    }
    android.ndk {
        moduleName = "native"
    }
    android.sources {
        main {
            jni {
                source {
                    srcDir 'src'
                }
            }
        }
    }
}

但是等价物没有找到包含:

android.sources {
    main {
        jni {
            source {
                srcDirs += '/src/main/jni/libiconv'
                srcDirs += "/src/main/jni/libiconv/include"
                srcDirs += "/src/main/jni/libiconv/lib"
                srcDirs += "/src/main/jni/libiconv/libcharset"
                srcDirs += "/src/main/jni/libiconv/libcharset/include"
            }
        }
    }
}

或者:

android.sources {
    main {
        jni {
            source {
                srcDirs = ["/src/main/jni/libiconv",
                           "/src/main/jni/libiconv/include",
                           "/src/main/jni/libiconv/lib",
                           "/src/main/jni/libiconv/libcharset",
                           "/src/main/jni/libiconv/libcharset/include" ]
            }
        }
    }
}

【问题讨论】:

  • 如果 JNI 插件(我从未使用过)类似于 Java 插件,则 srcDirs 属性是一个集合,您可以像 [ 'dir1', 'dir2' ] 一样分配它和/或使用 @ 987654328@ 运算符添加元素。不作为回答发布,因为很可能您已经知道这一点。
  • 是的,我们在同一页上。我最初的错误是一个偷偷摸摸的流浪大括号,因为我取消了我为测试而转换的 build.gradle 部分的注释。但是,到目前为止,我仍然没有运气添加包含。

标签: android gradle android-ndk


【解决方案1】:

srcDirs 仅用于指定源。 DSL 尚不支持直接指定包含的方式,但您可以为此使用 cppFlags:

android.ndk {
    //...
    cppFlags  += "-I${file("src/main/jni/libiconv/include")}".toString()
    //...
}

【讨论】:

  • 请原谅我的无知,但我认为包含的是源目录。
  • 包含的是您的 .h 文件的路径,源是您的所有 .c*/.cpp* 文件。如果您的 .h 是从每个源文件中相对引用的,则无需添加包含路径,但此处似乎并非如此。
  • 如果要使用CFlags,和cppFlags一样吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多