如何在Eclipse和Debug模式下使用proguard?

时间:2015-08-17 07:55:43

标签: android eclipse proguard android-proguard

我正在使用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。 ¿怎么可能会捐款?

由于

1 个答案:

答案 0 :(得分:0)

如果您使用的是Eclipse IDE,则无法在调试模式下启用Proguard但是如果可以使用Android Studio,则可以实现此目的。 访问 - Is it possible to use proguard in debug mode?

只是一个疯狂的想法:

1.在发布模式下运行您的应用程序,您将获得Proguard文件夹中的usage.txt。

2.打开使用txt,其中包含从.apk条带化的所有代码。此代码是从.apk条带化的,因为它不是必需的。所以观察thoose方法。 3.现在您可以从代码中手动删除这些方法,并且可以解决方法计数的最大数量。