android - Android 5.0 Release模式下的 INSTALL_FAILED_DEXOPT 错误

标签 android gradle android-sdk-tools google-groups android-multidex

INSTALL_FAILED_DEXOPT 有一个奇怪的问题。 这发生在模拟器中的 android 5.0 设备以及设备中。 奇怪的是,它在 Debug 模式下构建变体时效果很好。

如果我更改为 Release,我只会在 5.0 设备上收到此异常。我已经彻底浏览了 google 中提供的所有链接。

  1. 删除数据

  2. 买了一台新设备,我可以第一次安装,但我仍然面临同样的问题。

  3. 项目支持多索引:- 在 gradle 中为 true

  4. 还尝试将 SDK 工具版本和构建工具版本更改为最新版本,即 24.4.0。

我用这个设备 enter image description here

当我在 Release模式下构建时,我得到了这个错误 enter image description here

在控制台中

enter image description here

这些是我们使用的构建类型。

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        signingConfig signingConfigs.release
    }


    debug {
        applicationIdSuffix ".debug"
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        signingConfig signingConfigs.debug
    }


}

使用的 SDK 工具图片:

enter image description here 我可以向您保证,从未安装过该设备的构建版本。如果已安装,我已清除所有内容。

这个世界上有人能帮我解决这个问题吗?因为它让我们发疯.....

最佳答案

当APK安装到Android时,操作系统会执行dex2opt进行优化。 INSTALL_FAILED_DEXOPT 错误信息表示您的设备无法优化 dex 文件。

这个问题通常是由于 dex 文件的大小而发生的。通常,发生这种情况时,您可以在 Android 监视器中找到 LinearAlloc Limit 警告或错误消息。如果是 dex 大小的问题,请将其添加到您的 build.gradle 文件中:

afterEvaluate {
    tasks.matching {
        it.name.startsWith('dex')
    }.each { dx ->
        if (dx.additionalParameters == null) {
            dx.additionalParameters = []
        }
     
         // To avoid linearAlloc limit problem on Gingerbread and below
         dx.additionalParameters += "--set-max-idx-number=50000"
         dx.additionalParameters += "--minimal-main-dex"
    }
}

另外,请务必关闭 Instant Run。

关于android - Android 5.0 Release模式下的 INSTALL_FAILED_DEXOPT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824874/

相关文章:

java - 如何从firebase获取动态Url

java - 如何在 Android 中将 Hashset 保存到文件?

gradle - Gradle:从自定义 Artifact 名称中排除修订号

Gradle 不要在离线模式下运行任务

Android Traceview (Sampling based trace) 不反射(reflect)函数调用的实际次数

android - 纹理小部件渲染 OpenGL 示例

android - 图像与绘图 - Android

java - Gradle eclipse 插件 - WAR 文件中缺少 webapp 内容

android - 不,minSDK(API 14) > deviceSdk(API 1)

android - ADT r20 中 Unresolved 安装依赖项