【问题标题】:Android - MultiDex InstallAndroid - MultiDex 安装
【发布时间】:2015-01-13 05:51:56
【问题描述】:

通过导入外部库,我已经超过了 65k 方法限制。我启用了 ProGuard,但仍然出现同样的错误。

[2015-01-12 15:13:39 - Dex Loader] Unable to execute dex: method ID not in [0, 0xffff]: 65536
[2015-01-12 15:13:39 - MyFirstGame] Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

在阅读了谷歌官方文档后,似乎我应该配置一个 MultiDex 支持。我正在使用 Eclipse Indigo IDE 构建我的项目,并且没有 build.gradle 文件。使用 SDK 管理器,我安装了 'Android Support Repository' Rev. 11 和 'Android Support Library' Rev. 21.0.3。我已经添加了

android:name="android.support.multidex.MultiDexApplication"

归因于我的清单文件,现在正在尝试实现

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

但是,“MultiDex”类无法解析。根据Google官方文档,这个jar应该位于/extras/android/support/multidex//support/目录下没有/multidex/目录。

如何下​​载和安装 MulitDex 支持库?

【问题讨论】:

标签: java android eclipse android-multidex


【解决方案1】:

使用 SDK 管理器,我安装了“Android Support Repository”Rev. 11

这适用于使用 Android Studio 或其他使用 Gradle for Android 的工具的开发人员。它的内容目前不会被标准 Eclipse 使用。

根据谷歌官方文档,这个jar应该位于/extras/android/support/multidex/

尝试以下方法之一:

  1. 关注the instructions for adding a support library with resources,使用<sdk>/extras/android/support/multidex/library/

  2. <sdk>/extras/android/support/multidex/library/libs/android-support-multidex.jar JAR 复制到项目的libs/ 目录中(因为前面提到的Android 库项目似乎只包含这个JAR 而没有其他内容)

不要两者都做。做一个或另一个。

更新

这是我的<sdk>/extras/android/support/ 的屏幕截图,显示multidex/ 就在文档所说的位置:

【讨论】:

  • /support/目录下,/multidex/目录不存在。我无法将 mulidex.jar 文件复制到我的项目中。我也不能将 multidex 库导入我的工作区。也许我误解了你的答案?
  • @Codes: 那你的安装有问题。它肯定在我的机器上的<sdk>/extras/android/support/multidex/,这就是文档所说的位置。我已经用截图更新了答案。
  • 是的。你知道我可以如何下载和安装支持库吗?
  • @Codes: ::shrug:: 我个人没有遇到过这个问题。如果我处于你的位置,我会首先卸载 SDK 管理器中的 Android 支持库条目,然后清除 SDK 管理器的缓存(工具 > 选项 > 清除缓存),然后重新加载 SDK 管理器的目录(包 > 重新加载),然后会尝试再次安装 Android 支持库。我不知道这是否会有所帮助,但这是我首先要尝试的。然后,我会用搜索引擎翻遍互联网,希望有人写下如何解决这个问题。 :-)
  • 清除缓存并重新加载成功!我找到了 multidex 文件夹,但是当我将 jar 添加到我的项目中时,我仍然得到相同的 dex 错误Unable to execute dex: method ID not in [0, 0xffff]: 65536
猜你喜欢
  • 2017-08-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 2016-02-08
  • 1970-01-01
  • 2017-10-16
  • 2015-04-19
  • 2016-08-25
相关资源
最近更新 更多