【问题标题】:Dex Loader] Unable to execute dex: method ID not in [0, 0xffff]: 65536Dex Loader] 无法执行 dex:方法 ID 不在 [0, 0xffff] 中:65536
【发布时间】:2014-08-12 18:30:45
【问题描述】:

我的应用已超过方法的最大限制,即 65536 个方法。

在我的应用程序中,我使用了 16 个 jar 文件和 4 个库项目。

我已经做过的事情(不起作用):

  1. 共享我的应用程序和库项目中的所有 jar。
  2. 保留一个通用的 android 支持库。
  3. 删除了 android 依赖项。
  4. 外部使用的罐子。

我不想为我的应用程序创建多个 apk,有没有其他想法可以实现这一点。

【问题讨论】:

  • 使用 proguard 删除未使用的方法/类 ...
  • @Selvin 谢谢...让我试试
  • @RooMan 是的...但在这里我想要我的应用程序的单个 apk :-)
  • 尝试在 AndroidManifest.xml 中将所有 android 库项目重命名为相同的包名。这将通过缩小 R.java 的大小来减少方法计数。

标签: android apk dex


【解决方案1】:

如果你有时间 - 在这个播客中:

http://androidbackstage.blogspot.de/2014/08/android-developers-backstage-episode-11.html

有提到,未来会有官方解决这个问题(multi-dex)

今天有一些变通方法 - 但 AFAIK 所有这些都有点 hacky

【讨论】:

    猜你喜欢
    • 2014-11-13
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多