gpt4 book ai didi

android - 如何在 androidTest 配置中排除或替换应用依赖项

转载 作者:行者123 更新时间:2023-12-03 04:36:24 25 4
gpt4 key购买 nike

我有一个应用程序,其中 androidTest配置已击中臭名昭著的dex 64k method limit应用程序和测试库依赖项都有助于方法计数。

为了使方法计数再次低于 64k,我想删除一些依赖项。对于实际应用,我已经替换了

app
+-- largeDependency

带有 flavor 包装库:
app
+-- dependencyWrapper
+-- largeDependency

对于测试配置,我想替换 dependencyWrapper带有不带入 largeDependency 的 stub flavor :
androidTest
+-- app
+-- dependencyWrapperStub

如何在测试配置中覆盖构建风格?天真的方法
compile project(path: 'dependencyWrapper', configuration: 'prod')
androidTestCompile project(path: 'dependencyWrapper', configuration: 'stub')

不起作用,因为测试配置取决于 app引入其依赖项的配置,现在有两个包装库副本。

最佳答案

我最终做的是重构依赖项:

app
+-- appLibrary
| +-- dependencyWrapperInterface
+-- dependencyWrapperImpl
+-- dependencyWrapperInterface
+-- largeDependency

旧应用程序现在是一个库项目 appLibrary链接到 dependencyWrapperInterface模块。它实际上只是一个带有空 stub 实现的接口(interface)。瘦 app项目现在包括 dependencyWrapperImpl实现相同接口(interface)并引入 largeDependency 的模块这样做。 app注入(inject) dependencyWrapperImpl appLibrary 的接口(interface)实现.

测试在 appLibrary 上运行减少了现在再次低于 64k 的依赖集:
androidTest
+-- appLibrary
+-- dependencyWrapperInterface

关于android - 如何在 androidTest 配置中排除或替换应用依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33502381/

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