运行 Multidexed Espresso .APK

2023-12-09

运行 Espresso 测试时./gradlew connectedDebugAndroidTest,我们遇到了这个问题:

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException:方法 ID 不在 [0, 0xffff]:65536

由于我们在主应用程序中使用 Multidex,并且只是在已检测的测试应用程序上添加 Espresso 依赖项,因此我们不明白为什么它不起作用:·( 此外,如果我们通过 IntelliJ 而不是 Gradle 运行测试,它有效:·|

顺便说一句,我们需要通过 Gradle 运行它们,以便在 CI 工具上实现自动化。

更多信息? Google 问题跟踪器上有一个相关问题的链接:https://issuetracker.google.com/issues/37017515 :sad:


任务connectedDebugAndroidTest将尝试为项目中的每个模块构建测试 apk,因此如果您的项目有多个模块,则需要在每个模块中启用 multidex。这通常是完成设置

android.defaultConfig.multiDexEnabled true

in build.gradle对于每个模块。

对于没有任何测试的模块,如果您不尝试在这些模块中执行任务,则可以跳过所有这些。例如,如果只有app模块有仪器测试,你可以执行app:connectedDebugAndroidTest而是为了避免可能出现的多重索引错误。这实际上是 Android Studio 创建的运行配置默认执行的操作,也可能是当您从 IDE 启动测试时运行良好的原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 Multidexed Espresso .APK 的相关文章

随机推荐

  • 如何区分 emacs 缓冲区中的 Python 字符串和文档字符串?

    如果我刚刚 set face foreground font lock comment face red set face foreground font lock string face green 在我的 emacs 中 emacs 对
  • IOS:Swift:视频屏幕捕获

    iOS Swift 中的屏幕设备叫什么 当我打印我得到的设备时
  • 在 RESTful 应用程序中,我们如何区分“操作”和 HTTP 动词(GET、POST、PUT、DELETE)?

    在 RESTful 应用程序中 我们如何区分 操作 和 HTTP 动词 GET POST PUT DELETE 例如 据我了解 一个GET对资源的请求 products应该返回所有产品的列表 APOST请求 products应该创造一个新产
  • 在帐单地址中显示自定义字段

    我目前正在尝试将自定义字段添加到默认地址字段 名字 姓氏等 应该使用该字段来为客户设置称呼 为此 我使用了以下过滤器 add filter woocommerce default address fields custom woocomme
  • WPF MVVM 如何在视图更改后重新居中应用程序窗口?

    我正在使用本机 WPF 和 MVVM 开发一个非常简单的应用程序 主 shell 视图使用我认为常见的基本模式 其中包含一个与活动视图模型进行数据绑定的 ContentControl 该视图模型通过数据模板注入视图 这是它的缩写版本
  • 获取Azure订阅ID和部署槽(非常快)

    作为我的问题的后续部署状态 我想问一下有没有fast way找到 当前订阅 ID 角色所在的当前部署槽 暂存 生产 我目前正在使用管理 API 它有点慢 但我不想长时间缓存它 因为我无法确定缓存会在插槽交换时失效 在正在运行的实例中 您可以
  • 将 Ajax 响应下载为 zip 文件?

    我正在尝试将多个图像下载为 zip 文件 由于我使用的是 Azure blob 首先我列出了所有 blob 然后使用压缩它Archiver并使用管道函数将其发送到客户端 但我将 zip 作为原始文件获取 但未下载 我正在使用 Node js
  • VBA excel从工作表复制公式并粘贴到多个工作表

    VBA excel 从工作表复制公式并粘贴到工作表数组 例如 我想从工作表 Data C4 CX204 复制数据并粘贴到工作表 Test1 Test50 Test1 Test50 中的工作表将紧邻彼此 我想我可以将一个单元命名为 Test1
  • Excel VBA 循环遍历已过滤的数据透视项

    我是论坛新手 如果我的帖子不完整 请原谅我 我有一个非常简单的数据透视表 其中包含一个行字段 一个列字段 一个数据字段和一个过滤字段 行字段根据过滤器设置显示 使用 VBA 我的目的是循环遍历所有行枢轴项和列枢轴项并获取相应的字段名称和数据
  • 隐藏函数模板,声明专业化

    这是后续C 模板 防止基础模板的实例化 我使用模板来实现函数重载 而无需进行隐式类型转换的混乱 declare函数模板 定义所需的专业化 重载 一切都很好 除了错误的代码在链接阶段之前不会产生错误 lib hpp template
  • 为什么在 return 语句中使用移动构造函数是合法的?

    考虑以下 include
  • Jssor slider - 如何销毁并重新创建具有不同内容的 Jssor slider

    我正在尝试使用 Jssor 滑块根据所选类别及其子类别显示不同的 HTML 内容 我成功地为一个子类别创建了内容滑块 但我不知道如何销毁当前滑块并使用通过 Ajax 加载的不同内容重新创建它 子类别中的项目数量有所不同 因此据我了解 更改当
  • MySQL:使用计算约束创建表

    创建表时 是否可以根据两列的计算值声明约束 这是解释我想要做什么的伪代码 CREATE TABLE employee comments id int 11 user id int 11 franchise branch id int 11
  • Reactjs:路由器的渲染道具不起作用

    我的项目没有出现任何错误 它只是不渲染任何内容 我错过了什么吗 在 App js 中 我使用 render props 进行数据传输 import App css import BrowserRouter as Router Route R
  • 我可以“撤消”`git lfs checkout 吗?

    我运行了以下命令 git lfs migrate import everything include pdf git reflog expire expire unreachable now all git gc prune now git
  • 查找有向图中的所有循环

    如何找到 迭代 有向图中往返给定节点的所有循环 例如 我想要这样的东西 A gt B gt A A gt B gt C gt A 但不是 B gt C gt B 我在搜索中找到了此页面 由于循环与强连通分量不同 我继续搜索 最后 我找到了一
  • 使用 jQuery 添加带有 HTML5 数据属性的选择选项

    我正在尝试使用 jQuery 为选择元素构建一组选项 除了应该包含的数据属性之外 它正在工作 这似乎被省略了 这是我的代码 cJ is JSON object currency is my select element function m
  • 桌面图形 - 或“皮肤”窗口

    我正在寻找一种在桌面上绘制动画的方法 无窗框且背景透明 我在 Windows XP 中使用 Python 但它不一定是跨平台的 尽管这会是一个很好的好处 有谁知道可以做到这一点的Python库吗 如果您想要无框窗户 有多种选择 例如 pyg
  • Log4js javascript 创建每日日志文件

    我有一个nodejs项目 使用log4js来写日志 我想在开始新日期时创建新的文件日志 例子 每日 2017 07 31 log每日 2017 08 01 log每日 2017 08 02 log每日 2017 08 03 log 在jav
  • 运行 Multidexed Espresso .APK

    运行 Espresso 测试时 gradlew connectedDebugAndroidTest 我们遇到了这个问题 com android build api transform TransformException com andro