我和我的团队从另一个团队继承了一个大型 Android 项目。据报道,包含所有库的整个应用程序有大约 35000 个方法。我们现在的任务是在需要使用协议缓冲区的应用程序中实现新服务。
问题是生成的包含所有必需 .proto 文件的 .jar 文件创建了另外几个 35000 个方法,即 70000 个方法。如果您不知道,Android 编译器对每个 .dex 文件有 65536 个方法的限制。我们显然超出了该限制,并且在尝试编译应用程序时遇到以下错误:
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
是的,应用程序架构可能应该进行重组,但这需要时间。目前,我们正试图找出一个临时解决此问题的解决方案。
有什么建议么?