gpt4 book ai didi

android - 不测试时如何从 Gradle 构建中排除 AndroidTest/assets?

转载 作者:行者123 更新时间:2023-11-29 20:52:39 25 4
gpt4 key购买 nike

我的单元测试需要一些大型 Assets 来测试解析复杂的媒体文件。我注意到 Gradle 在调试和发布版本中包含整个 androidTest/assets 文件夹。这会导致不必要的 APK 文件大小膨胀。

我尝试在 build.gradle 中为媒体文件的扩展设置 android { aaptOptions { ignoreAssetsPattern "!*.ext"} } ,但 androidTest/assets 文件夹似乎不支持这些 Assets 排除选项。我设法让构建使用 android { packagingOption { exclude 'AndroidTest/assets/filename.ext' } } 一个一个地专门排除每个文件,其中 filename.ext 是不支持通配符的完整文件名。这会排除所有构建中的 Assets ,即使在测试时也是如此。

我希望我能找到一些 Gradle 方法来排除发布版本中的文件夹,但 Assets 可能不应该出现在构建中,除非我打算专门将其用于运行仪器测试。这里有什么好的选择吗?

我简直无法相信默认行为是始终在所有构建中包含 androidTest/assets。这应该被视为错误并报告吗?

最佳答案

在我为我的库项目编写测试后,似乎另一个开发人员明确地向我的 build.gradle 文件添加了一个指令。他更改了默认位置以查找仪器测试。因此,Gradle 工具将 androidTest/assets 文件夹视为普通 Assets 文件夹,并将文件添加到每个 APK。

这是违规行:

instrumentTest.setRoot('tests')

感谢您的帮助!

关于android - 不测试时如何从 Gradle 构建中排除 AndroidTest/assets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28708099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com