You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用embeddedDex后INSTALL_FAILED_INVALID_APK错误排查求助

解决INSTALL_FAILED_INVALID_APK(Dex未正确未压缩/对齐)问题

针对你启用allowEmbeddedDex后遇到的安装失败问题,以下是具体排查和解决步骤:

  • 强制Gradle不对Dex文件进行压缩
    在app模块的build.gradle中添加packaging配置,确保所有Dex文件都保持未压缩状态——这是embedded dex功能的硬性要求:

    android {
        packagingOptions {
            doNotCompress 'classes*.dex'
            doNotCompress 'dex'
        }
    }
    

    如果项目使用了多Dex分包,通配符classes*.dex会覆盖所有生成的Dex文件,避免遗漏。

  • 确保APK构建时执行zipalign对齐
    显式开启zipalign,无论是debug还是release构建:

    android {
        buildTypes {
            release {
                zipAlignEnabled true
            }
            debug {
                zipAlignEnabled true
            }
        }
    }
    

    embedded dex要求Dex文件必须经过字节对齐,否则系统无法正确直接读取APK中的Dex内容。

  • 彻底清理缓存后重新构建
    旧的构建缓存可能导致新配置未生效,按以下步骤操作:

    1. 执行Build > Clean Project
    2. 手动删除app模块下的build文件夹,以及项目根目录的.gradle文件夹
    3. 执行File > Sync Project with Gradle Files
    4. 最后执行Build > Rebuild Project
  • 检查AndroidManifest的配置正确性
    确认application标签中的属性拼写正确,该属性仅对Android 10(API 29)及以上版本生效:

    <application
        android:allowEmbeddedDex="true"
        ...>
        <!-- 其他配置 -->
    </application>
    

    注意属性名是allowEmbeddedDex,不要写错成embeddedDex。

  • 验证构建后APK的Dex状态
    用zip工具打开APK,查看Dex文件的压缩方式:如果显示为Stored(无压缩)则正常,若为Deflated(已压缩)则说明packaging配置未生效。
    也可以用aapt工具快速验证:

    aapt l -v your-app.apk | grep dex
    

    输出中Dex文件的Method字段应为STORED。

内容的提问来源于stack exchange,提问作者MajinKenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:35:18