【问题标题】:Multidex application in EclipseEclipse 中的 Multidex 应用程序
【发布时间】:2015-09-11 14:45:04
【问题描述】:

我在 Eclipse 中开发了一个 android 应用程序,它使用了很多库 JAR 文件,所以我得到了例外

Unable to execute dex: method ID not in [0, 0xffff]: 65536

所以我想实现multidex。我搜索了很多博客,但在 Eclipse 框架中没有任何帮助。所以我为 Eclipse 安装了 Gradle 插件来实现许多帖子中提到的 multidex(如提到的hereHere)。两者都告诉相同的方法添加

multiDexEnabled true

但它不工作

我要求我的应用程序类覆盖

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

在构建的 gradle 文件中,我编辑为

    android{
            defaultConfig {
                 minSdkVersion 14 //lower than 14 doesn't support multidex
                 targetSdkVersion 22

                 // Enabling multidex support.
                 multiDexEnabled true
             }
     }

但这对我没有帮助。任何人都可以帮我找到如何使用 eclipse 对我的应用程序进行 multidex 或使用 gradle 进行 multidex 的正确方法。

【问题讨论】:

标签: android eclipse android-multidex


【解决方案1】:

将此添加到您的 gradle 依赖项中:

dependencies {
    compile 'com.android.support:multidex:1.0.0'
    ... 
}

如果这不起作用,我不知道如何为您提供帮助,因为这是我可以从 SO 上的其他答案中看到的唯一缺少的东西。

【讨论】:

  • 我在 gradle 文件中使用过这个,但对我没有帮助
【解决方案2】:

你需要做 3 件事来启用 MultiDex:

1) 将以下依赖项添加到您的 build.gradle 文件中:

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

2) 在 build.gradle 文件中启用 multidex:

defaultConfig {
    ...
    minSdkVersion 14
    targetSdkVersion 21
    ...

    // Enabling multidex support.
    multiDexEnabled true
}

3) 最后,如果您使用的是自定义 Application 类,它应该扩展 MultiDexApplication:

public class MuyApplication extends MultiDexApplication {

}

或者如果您没有使用自定义应用程序类,请在清单中执行以下操作:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

【讨论】:

  • 嗨,我在 gradle 文件中添加了依赖项并启用了 multidex,然后将应用程序类扩展为 MultiDexApplication 但我仍然收到错误
  • 错误:无法执行 dex:方法 ID 不在 [0, 0xffff] 中:65536 转换为 Dalvik 格式失败:无法执行 dex:方法 ID 不在 [0, 0xffff] 中:65536跨度>
  • 已经找到解决方案@S A R
猜你喜欢
  • 1970-01-01
  • 2017-06-22
  • 1970-01-01
  • 2014-12-25
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 2016-08-02
相关资源
最近更新 更多