我正在使用eclipse编译一个方法数超过65k的大型项目。我使用proguard来减少官方文档中指定的方法计数数:https://developer.android.com/tools/building/multidex.html
使用ProGuard删除未使用的代码-配置ProGuard设置为你的应用程序运行ProGuard,并确保你有收缩启用发布构建。启用收缩功能可确保您不会发送未使用的产品用你的apk编码。
它工作得很好,因为如果我用我的发布密钥签署我的应用程序,方法计数减少到43K。
问题是,如果我尝试用PLAY按钮启动我的应用程序(这意味着使用调试。Keystore,没有在发布模式下签名),eclipse没有使用proguard,它显示了这个错误,而没有让我测试我的应用程序:
Dex Loader Unable to execute dex: method ID not in [0, 0xffff]: 65536
这是强制性的,我使用Eclipse几个月,直到我们准备迁移到Android Studio与这个巨大的项目,所以我需要减少方法计数时启动调试模式,所以我需要应用proguard启动调试模式与Eclipse。怎么才能做到呢?
谢谢
如果您使用Eclipse IDE,则不可能在调试模式下启用Proguard,但如果可能使用Android Studio,则可以实现这一点。是否可以在调试模式下使用proguard ?
一个疯狂的想法:
1。在发布模式下运行proguard,你会在proguard文件夹中得到usage.txt。
2。打开usage,txt文件,其中包含从.apk文件中分割出来的所有代码。这段代码从.apk中剥离出来,因为不需要它。所以要观察这些方法。3.现在,您可以从代码中手动删除这些方法,并且可以解决方法计数的最大数量。