如何在实验gradle中排除cpp文件?

sho*_*osh 22 c++ android gradle android-ndk android-studio

我正在尝试使用Android Studio 1.3.1使用实验gradle语法编译NDK项目.

我的build.gradle外表非常像茶壶的例子

除了我的源代码树有一些我不想包含在构建中的文件.我无法删除这些文件,所以我需要gradle来忽略它们.

我尝试添加一个exclude定义:

android.sources {
    main {
        jni {
            source {
                srcDirs 'src/main/jni'

                excludes += "src/main/jni/FileToExclude.cpp"
            }
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

但这并没有影响结果.gradle仍然尝试编译此文件.

我想excludes,exclude=,+=与什么都没有,但没有别的置换工作.

aga*_*aga 10

根据我的发现,排除文件的正确指令是排除,不排除.检查你的build.gradle以确保你没有在这里犯错(你在提供的样本中使用了排除).

更新:好的,经过一些研究后,我在AOSP问题跟踪器上找到了这个帖子.主题启动器说明如下:

sourcesets的java/resources组件允许包含/排除模式.

我们应该为aidl/rs/jni/assets做这件事.

问题仍然存在,所以我认为这个功能必须在Android Gradle插件或Android Studio中实现,或者在两者中实现(并且尚未实现).它将在Android Studio 1.5中实现,至少这是标签所说的内容.

  • 看起来你运气不好.除非您想构建自己的gradle插件,否则最好的选择是通过ndk-build使用Android.mk. (2认同)