我正在尝试使用Android Studio 1.3.1使用实验性的gradle语法编译NDK项目。
我的< code>build.gradle看起来非常像茶壶示例中的那个
除了我的源代码树有一些我不想包含在构建中的文件。我无法删除这些文件,所以我需要gradle忽略它们。
我尝试添加一个< code>exclude定义:
android.sources {
main {
jni {
source {
srcDirs 'src/main/jni'
excludes += "src/main/jni/FileToExclude.cpp"
}
}
}
}
但这并不影响结果。Gradle 仍在尝试编译此文件。
我尝试排除
,用
=,=
排除,什么
都没有,但没有排列工作。
我查看了android源代码,看起来你可以更新过滤器来排除你的文件。不知道你用的是什么版本的gradle插件,所以不能确定底层api是什么。您可以尝试手动设置PatternFilterable来排除该文件。
android.sources {
main {
jni {
source {
srcDirs 'src/main/jni'
getFilter().exclude('**/FileToExclude.cpp')
}
}
}
}
我看了Gradle Code Review,发现正在使用LanguageSourceSet。查看LanguageSourceSet的Gradle文档,您可以访问SourceDirectorySet,它有一个PatternFilter,您可以在其上设置排除。
我认为您以错误的方式提供了文件的路径。它应该是:
srcDir 'src/main/jni '
排除“FileToExclude.cpp”
您可以点击此链接。https://discuss.gradle.org/t/how-can-i-exclude-certain-java-files-from-being-compiled/5287/2
还要注意,应该使用exclude而不是exclude,使用srcDir而不是srcDirs。
根据我的发现,从构建中排除文件的正确指令是排除,而不是排除。检查您的 build.gradle 以确保您没有在此处犯错误(您在提供的示例中使用了排除)。
Upd:好的,经过一些研究,我在AOSP问题跟踪器上发现了这个线程。主题启动器如下所示:
源集的java/resources组件允许包含/排除模式。
我们应该为 aidl/rs/jni/assets 执行此操作。
这个问题仍然悬而未决,所以我认为这个功能必须在AndroidGradle插件或Android Studio中实现,或者在两者中实现(还没有实现)。它将在Android Studio1.5中实现,至少标签上是这么说的。
gradle:如何排除重复的资源文件?例如。, META-INF/foo。在.././.下的xml/src/main/resources与src/main/resources/META-INF/foo同名。xml。 还尝试了: foo.xml文件都被排除在外。
我正在使用Android Studio和Google Drive,这会使隐藏的系统文件可见(例如图标和桌面ini),导致错误,如本文所述。我希望指示gradle 2.14忽略它们,而不是运行脚本来删除这些文件。 为了找出如何排除文件,我在目录和中创建了名为“excludeme.txt”的文件。我尝试对项目中的两个文件进行各种修改,但没有成功排除该文件。 具体来说,我对的文件进行了以下修改: 我还将
我试图在Spring Boot项目中使用最新(主)版本的Betamax,我得到了错误<code>SLF4J:检测到log4j-over-SLF4J。jar和slf4j-log4j12.jar在类路径上,抢占StackOverflowerError。。 所以我看了这个问题的最上面的答案,它说通过这样做来排除冲突依赖: 但是我的项目使用 Gradle,所以我必须将其转换为 Gradle,我真的不知道我
我正在使用“maven”插件将Gradle构建创建的工件上传到Maven中央存储库。我正在使用类似于以下任务的任务: 然而,此任务创建的POM文件不能正确报告在我的Gradle构建文件中被排除的依赖项。例如: 如何在生成的POM文件中正确管理排除的依赖项?
我有一个相当简单的要求。我有以下项目布局: 我想做的是为中的所有java文件创建一个jar 使用from: 直接执行“排除”: 这些都是我在网上找到的建议--但似乎没有一个奏效。我做错了什么。 分级版本是2.12。
问题内容: 我的文件夹包含单元测试和功能测试。功能测试的类路径中有单词,而单元测试中没有。那么,如何仅运行单元测试? 非常感谢你。 PS :我知道很容易使用“包含”逻辑来选择测试。例如,仅在我的情况下运行功能测试,我可以简单地使用此功能。 但是,我不知道如何以简单的方式排除测试。 顺便说一句,我正在使用gradle 1.11。 问题答案: 任务的文档通过一个示例和所有内容对其进行了说明: