【问题标题】:How can you have two dex files in a androidTest apk when minSdk is < 21?当 minSdk < 21 时,如何在 androidTest apk 中有两个 dex 文件?
【发布时间】:2017-11-14 18:45:09
【问题描述】:

为什么在使用 AGP 2.3.3 时,androidTest apk 超过 64k dex 限制时,assembleAndroidTest 会成功构建?这是一个错误吗?

一些信息:

Using multidex to create a test APK is not currently supported.

  • 使用android gradle插件2.3.3
  • minSdk16
  • multidexEnabled true
  • androidTest apk 中的 72k 方法引用,分为 2 个 dex 文件。
  • 构建成功
  • 由于 dex 问题,在棒棒糖之前的设备上运行时崩溃

我在尝试升级到 AGP 3.0 后注意到了这一点。

AGP 3.0:

  • minSdk 16
  • multidexEnabled true
  • ./gradlew assembleAndroidTest 导致 DexIndexOverflowException,任务失败
  • 如果我设置minSdk 21,那么:assembleAndroidTest 成功。然后在 3 classes.dex 文件中有 70k 方法引用。

【问题讨论】:

    标签: android android-gradle-plugin


    【解决方案1】:

    实际上支持多索引测试 apk(multidex 1.0.2 功能),但被 bug in 3.0 AGP 破坏。

    Google's documentation 不正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2016-10-30
      • 2017-01-27
      相关资源
      最近更新 更多