Android Studio:在资源sourceSets下排除资源文件

17

我正在使用Android Studio作为IDE开发Android应用程序。

我的问题是:
如何在构建APK的过程中排除特定目录下的某些文件?

在我的情况下,由于项目中使用的这些文件被指定为在应用程序中从网络下载,因此我希望在开发过程中可以在布局中引用它们,而不需要将它们包含在构建中。

经过搜索,我找到了一些解决方案:
Gradle 1.2:排除资源sourceSets下的目录
如何使用Gradle和Android Studio排除资源文件?
并且还有来自 gradle.org 的参考资料

然后我在build.gradle中想出了我的解决方案:

sourceSets {
    main {
        resources.exclude '**/drawable/*'
        res.exclude '**/drawable/*'
    }
}

但是它不起作用,在下载之前,res/drawable/下的图像仍然显示出来。

目前Android Studio版本为0.8.4。
欢迎提出任何想法。


它是否在res/drawable-mdpi或其兄弟目录下获取图像,而不仅仅是在res/drawable目录下? - Larry Schiefer
@LarrySchiefer 不,我不这么认为,因为我只是将图像放在drawable/目录下(在一个测试项目中)。 - inexcii
1个回答

21

当前不支持Android sourceSets的排除路径。您可以在错误https://code.google.com/p/android/issues/detail?id=64957中跟踪此问题。

这是因为Android sourceSets与Java sourceSets不同;它们是Android插件中的自定义实现,不能自动获取其兄弟姐妹的所有功能。这需要专门为Android实现,并且目前还没有完成。


更新:Android Studio 2.0 已经为资源缩减更新了功能。http://tools.android.com/tech-docs/new-build-system/resource-shrinking - Bron Davies

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接