【发布时间】:2015-11-09 18:56:27
【问题描述】:
我正在使用 eclipse 编译一个方法数超过 65k 的大型项目。我正在使用 proguard 来减少官方文档中指定的方法计数:https://developer.android.com/tools/building/multidex.html
使用 ProGuard 删除未使用的代码 - 配置 ProGuard 设置 您的应用程序运行 ProGuard 并确保您已启用收缩 发布版本。启用收缩可确保您不会运送未使用的物品 使用您的 APK 编写代码。
它工作正常,因为如果我用我的发布密钥签署我的应用程序,方法计数会减少到 43K。
问题是,如果我尝试使用 PLAY 按钮启动我的应用程序(这意味着使用 debug.keystore,而不在发布模式下对其进行签名),eclipse 没有使用 proguard,它会向我显示此错误,而无需让我测试我的应用:
Dex Loader Unable to execute dex: method ID not in [0, 0xffff]: 65536
我必须再使用 Eclipse 几个月,直到我们准备好将这个庞大的项目迁移到 Android Studio,所以我需要在使用 debug mude 启动时减少方法数,所以我需要在启动时应用 proguard Eclipse 的调试模式。 ¿ 怎样才能脱胎换骨?
谢谢
【问题讨论】:
-
Facebook 开发者有这样的问题。也许他们的经验会有所帮助facebook.com/notes/facebook-engineering/…
-
谢谢,但我们不是 facebook,我们需要在不破解 android dalvik vm 的情况下实现这一目标
标签: android eclipse proguard android-proguard