我正在使用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。 ¿怎么可能会捐款?
由于
答案 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.现在您可以从代码中手动删除这些方法,并且可以解决方法计数的最大数量。