Android multiDexEnabled无法解决此问题

Android multiDexEnabled无法解决此问题,android,Android,我遇到了一个奇怪的问题。 昨天,在将子模块中的代码从java更改为kotlin之后,我得到了“一个.dex文件中的方法引用数不能超过64K”。 在更改代码之前,我的应用程序运行正常,它的build.gradle看起来像: defaultConfig { ... //multiDexEnable true // spelling error has been corrected multiDexEnabled true ... }

我遇到了一个奇怪的问题。
昨天,在将子模块中的代码从java更改为kotlin之后,我得到了“一个.dex文件中的方法引用数不能超过64K”。
在更改代码之前,我的应用程序运行正常,它的build.gradle看起来像:

 defaultConfig {
      ...
      //multiDexEnable true // spelling error has been corrected
      multiDexEnabled true
      ...
    }
    dependencies {
      ...
      compile 'com.android.support:multidex:1.0.3'
      ...
    }
我的包结构如下:
应用程序。
--共享模块。
--其他模块。
sharemodule和othermodule是我的应用程序的子模块

我只是减少了sharemodule中一些未使用的代码,并将其代码更改为kotlin,然后出现了这个问题。
请帮帮我,谢谢

谢谢你的回复,我已经纠正了拼写错误。此外,该应用程序还扩展为“多索引应用程序”

public class App extends MultiDexApplication  {
我试过了,但没有成功

我是否应该在模块的build.gradle中添加“multiDexEnabled true”?目前我只是将其添加到我的应用程序的build.gradle中。

它是
多索引启用的
而不是
多索引启用的
。因此,在gradle文件中的defaultConfig中进行更改

当前:

defaultConfig {
      ...
      multiDexEnable true
      ...
    }
改为:

defaultConfig {
      ...
      multiDexEnabled true
      ...
    }
有关更多信息,请查看此链接:


阅读此链接以了解有关为使用超过64K种方法的应用启用多索引的更多信息

像这样使用多索引

dependencies {
compile 'com.android.support:multidex:1.0.1'
}
  • 在项目中添加渐变
  • 将应用程序项目设置为使用multidex配置需要对应用程序项目进行以下修改,具体取决于应用程序支持的最低Android版本
像这样

android {
defaultConfig {
    ...
    minSdkVersion 15 
    targetSdkVersion 26
    multiDexEnabled true
}
...
  }

dependencies {
compile 'com.android.support:multidex:1.0.1'
}
您当前使用的

multiDexEnable true
更改为

multiDexEnabled true
它可以帮助您尝试此操作。

遵循此操作->

步骤1:将其添加到应用程序级别
build.gradle

defaultConfig {
    ...
    multiDexEnabled true
    ...
}
dependencies {
    ...
    compile 'com.android.support:multidex:1.0.0'
    ...
}
步骤2:将此依赖项添加到应用程序级别
build.gradle

defaultConfig {
    ...
    multiDexEnabled true
    ...
}
dependencies {
    ...
    compile 'com.android.support:multidex:1.0.0'
    ...
}
步骤3:创建扩展应用程序的类

public class AppController extends Application {

    public static final String TAG = AppController.class.getSimpleName();
    private static AppController mInstance;

    @Override
    public void onCreate() {
        super.onCreate();
        //ActiveAndroid.initialize(this);
        mInstance = this;
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

    public static synchronized AppController getInstance() {
        return mInstance;
    }

    public AppController() {
        super();
    }
}
步骤4:将其添加到
AndroidManifest.xml中的
应用程序
标记中

<application
        android:name="com.relyfy.adapter.AppController"
        .... >


@Cheng,你检查过我的答案了吗?谢谢你的回答,先生,但是没有用。仍然显示超过64k的内容。@Cheng,同时添加您的android studio日志屏幕截图。@Cheng,检查这里是否有以下步骤:
尝试步骤4。
谢谢您的回复,先生,但它不起作用。仍然显示超过64k。请在项目级别
build.gradle
中检查
gradle插件版本
,该版本尚未过期。感谢回复。我创建的“App”类扩展了MultiDexApplication,所以我认为android已经为我完成了第3步和第4步。但不起作用。事实上,我在我的项目中也遵循了这4个步骤,工作得非常完美,我的项目中也有模块项目。好的,我在“应用程序”中添加了“android:name=“com.**.App”,但没有起作用。