作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序,其中 androidTest
配置已击中臭名昭著的dex 64k method limit应用程序和测试库依赖项都有助于方法计数。
为了使方法计数再次低于 64k,我想删除一些依赖项。对于实际应用,我已经替换了
app
+-- largeDependency
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/
我是一名优秀的程序员,十分优秀!