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”,但没有起作用。