2

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

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

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

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 对我的应用程序进行多索引,或者使用 gradle 进行多索引的正确方法。

4

2 回答 2

0

你需要做 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) 最后,如果您使用的是自定义应用程序类,它应该扩展 MultiDexApplication:

public class MuyApplication extends MultiDexApplication {

}

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

<?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>
于 2015-09-11T06:45:04.000 回答
0

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

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

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

于 2015-09-10T17:41:45.077 回答