Android ndk 如何使用Android实验Gradle模块为组件配置srcDir

Android ndk 如何使用Android实验Gradle模块为组件配置srcDir,android-ndk,android-gradle-plugin,gradle-experimental,Android Ndk,Android Gradle Plugin,Gradle Experimental,我目前有一系列包含java、aidl、资产、资源、jni、清单和proguard文件的组件来支持这些组件 我希望交付AAR文件,其中包含这些组件的许多不同组合 我希望能够在组装时调试每个组件中的代码(我认为这意味着制作一个包含所有组件源文件的项目,因为AAR explosion不做发布/调试变体) 我想为NDK部分使用实验性gradle插件 我的第一次破解看起来像: model { android { // ... stuff sources {

我目前有一系列包含java、aidl、资产、资源、jni、清单和proguard文件的组件来支持这些组件

我希望交付AAR文件,其中包含这些组件的许多不同组合

我希望能够在组装时调试每个组件中的代码(我认为这意味着制作一个包含所有组件源文件的项目,因为AAR explosion不做发布/调试变体)

我想为NDK部分使用实验性gradle插件

我的第一次破解看起来像:

model {
    android {
         // ... stuff
         sources {
             main {
                 def mySourceSet = ["../../sourceTree/client",
                                   "../../sourceTree/instrumentation",
                                   "../../sourceTree/engine"]
                 java {
                     source {
                         srcDirs = mySourceSet } } }
                 aidl {
                     source {
                         srcDirs = mySourceSet } } }
                 resources {
                     source {
                         srcDirs = mySourceSet } } }
                 assets {
                     source {
                         srcDirs = mySourceSet } } }
                 manifest {
                     source {
                         srcDirs = mySourceSet } } }
                 jniLibs {
                     source {
                         srcDirs = mySourceSet } } }
                 jni {
                     source {
                         srcDirs = mySourceSet } } }
                 }
            }
        }
    }
java类按照我的意愿进行组合。 aidl文件按我的要求合并

其他的一切都不尽相同(清单没有合并,资源/资产选择java类,并且仍然使用旧的.so,来自以前的构建系统)

进入不同的规则,mySourceSet似乎需要重复,以便为非java/aidl文件做正确的事情,以获得正确的格式来拾取(或排除)内容要查看+=符号可以做什么,以及是否可以将它们移动到sourceTree中的gradle settings/config片段,请将其包括在内,并让它修改srcdir

我想要这样的东西来工作:

 model { android { sources { main { aidl { source { srcDirs += "../../sourceTree/instrumentation" } } } } } } 
 model.android.sources.main.aidl.source <<  { srcDirs += "../../sourceTree/instrumentation" }
 model.android << { sources { main { aidl { source { srcDirs += "../../sourceTree/instrumentation" } } } } } 
model{android{sources{main{aidl{source{srcDirs+=”。/../sourceTree/instrumentation{}
model.android.sources.main.aidl.source