Ric*_*ral 27 android dalvik protocol-buffers dex
我的团队和我继承了另一个团队的大型Android项目.据报道,包含所有包含库的整个应用程序有大约35000种方法.我们现在的任务是在应用程序中实现我们需要使用Protocol Buffers的新服务.
问题是生成的.jar文件包含所有必需的.proto文件,会创建另外35个方法,即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
Run Code Online (Sandbox Code Playgroud)
是的,应用程序架构可能应该进行重组,但这需要时间.目前我们正试图找出解决方案来暂时解决这个问题.
有什么建议?
Udi*_*nic 12
您可以使用其他DEX文件.这是你如何做到的:
http://android-developers.blogspot.co.il/2011/07/custom-class-loading-in-dalvik.html
启用Proguard(http://developer.android.com/tools/help/proguard.html)以删除未使用的方法.protobuf生成器创建了数千种从未实际使用过的方法.
微型原型(https://code.google.com/p/micro-protobuf/)也可能有用.
| 归档时间: |
|
| 查看次数: |
30573 次 |
| 最近记录: |