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

Android Studio阿拉伯语环境下classes٢.dex与classes2.dex不匹配错误求助

解决「Invalid dex file indices, expecting file 'classes٢.dex' but found 'classes2.dex'」错误

问题原因

当设备系统语言为阿拉伯语时,Android构建工具会使用阿拉伯-Indic数字(如٢)生成多DEX文件名,但运行时系统或构建链的部分环节期望的是ASCII阿拉伯数字(如2),导致文件名不匹配触发错误。切换系统语言为英语时,构建工具自动使用ASCII数字,因此错误消失。

解决方案

1. 强制构建工具使用ASCII数字生成DEX文件名

在build.gradle(:app)的android代码块中添加配置,强制构建时使用ASCII字符集处理文件名:

android {
    // 保留原有配置...
    
    dexOptions {
        javaMaxHeapSize "4g"
        additionalParameters "--force-utf8"
    }

    aaptOptions {
        additionalParameters "--force-utf8"
    }
}

如果上述配置无效,可补充指定资源语言范围,确保数字格式统一:

android {
    // 保留原有配置...
    
    defaultConfig {
        // 保留原有配置...
        resConfigs "en", "ar"
    }
}

2. 清理并重新构建项目

执行Android Studio的以下操作彻底清除旧构建缓存:

  • 菜单栏选择 Build > Clean Project
  • 接着选择 Build > Rebuild Project
  • 最后选择 File > Invalidate Caches...,点击Invalidate and Restart

3. 优化MultiDex依赖(可选)

你的依赖中使用的是旧版支持库的MultiDex,建议替换为AndroidX版本以适配更高版本的Android系统:

// 替换原有 implementation 'com.android.support:multidex:1.0.3'
implementation 'androidx.multidex:multidex:2.0.1'

同时确保自定义Application类正确初始化MultiDex:

public class MyApplication extends Application {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

4. 清理重复依赖(可选)

你的依赖中存在重复引入的库(如Glide多次引入不同版本),可能导致构建逻辑混乱,建议统一版本并移除重复项:

// 移除重复的Glide依赖,保留最新版本即可
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

验证方法

完成上述配置后,保持设备语言为阿拉伯语,重新运行项目,检查是否还会出现DEX文件名不匹配的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:55:14