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

集成MultiDex后日志提示VM支持多DEX但库已禁用的问题咨询

关于MultiDex日志提示VM has multidex support, MultiDex support library is disabled.的问题解析

我已在应用中集成MultiDex,运行应用时日志中出现VM has multidex support, MultiDex support library is disabled.的提示,但应用并未崩溃,可正常启动。

相关日志

13:06:07.146 MultiDex                 I  VM with version 2.1.0 has multidex support
13:06:07.146 MultiDex                 I  Installing application
13:06:07.147 MultiDex                 I  VM has multidex support, MultiDex support library is disabled.
13:06:07.147 MultiDex                 I  Installing application
13:06:07.147 MultiDex                 I  VM has multidex support, MultiDex support library is disabled.

我的MultiDex集成步骤

  • 启用MultiDex:
defaultConfig {
    applicationId "xx.xxxxxxxx"
    minSdk 29
    targetSdk 33
    versionName "1.0.24.1"
    versionCode 43
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}
  • 添加依赖:
dependencies {
    implementation 'androidx.multidex:multidex:2.0.1'                       // Multidex
}
  • 创建Application类:
class BaseApp : MultiDexApplication(){

    override fun attachBaseContext(base: Context?) {
        super.attachBaseContext(base)
        MultiDex.install(this)
    }

    override fun onCreate() {
        super.onCreate()
        "BaseApp=> onCreate()".toLog()
    }
    
}
  • 在AndroidManifest.xml中配置Application类:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="xx.xxxxxxxx">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:name=".data.application.BaseApp"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:screenOrientation="portrait"
        android:supportsRtl="true"
        android:theme="@style/Theme.XXXXX"
        android:usesCleartextTraffic="true">
        
        
    </application>

</manifest>

问题解析与优化建议

这个日志提示是正常现象,无需担忧。原因在于你的minSdk设置为29,而Android 10(API 29)及以上版本的系统VM已经原生支持MultiDex,不需要依赖MultiDex支持库来实现。MultiDex库检测到系统VM具备原生多dex能力后,会自动禁用自身逻辑,因此输出该提示。

你的应用能正常启动说明一切工作正常,这个提示仅用于告知当前环境下无需使用MultiDex库的实现,系统已原生支持。

若要优化配置,可做以下调整:

  1. 移除MultiDex.install(this)调用:MultiDexApplication在API21+环境中会自动跳过安装逻辑,手动调用属于冗余操作。
  2. 保留multiDexEnabled true:这是Gradle编译时启用多dex打包的开关,与运行时支持库无关,必须保留才能生成多个dex文件。
  3. 按需引入依赖(可选):仅在minSdk <21时引入MultiDex库,减少不必要的依赖:
dependencies {
    if (project.android.defaultConfig.minSdkVersion < 21) {
        implementation 'androidx.multidex:multidex:2.0.1'
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:40:26