Google Play服务 - 包含时的dex错误

时间:2015-07-31 21:30:45

标签: android google-maps google-play-services ibm-mobilefirst dex

我有一个正在运行的基本混合应用程序,我希望通过本机Google地图功能来增强它。这方面的先决条件是在项目中包含Google Play服务库。

The problem is including the Google Play Services lib gives a dex error :
[2015-07-31 17:23:31 - Dex Loader] Unable to execute dex: method ID not in [0, 0xffff]: 65536
[2015-07-31 17:23:31 - projectAndroid] Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

IDE是eclipse&我正在使用IBM MobileFirst构建混合应用程序。

我只需要库中的映射功能,但播放服务jar包含更多,更多。

建议的方法是proGuard并使用multi-dex。

Multi-dex选项确实让应用程序变得沉重,这是我真正想要避免的。该应用程序旨在超轻。

只是想知道那里有人是否有可以重复使用的Google Play服务库的精简版本,或者是否可以指定哪些软件包足以显示地图。

对于地图,我打算使用lat-long显示一个显示标记的地图片段。就是这样。 感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您需要使用您的应用程序使用MultiDex,因为您现在获得的方法总数超过65536限制单个dex文件可以处理(这完全是因为依赖性,尤其是Google Play服务)。官方文档中讨论了这个问题,解决方法很简单,所以去申请what's described here,你应该没问题。

您不希望使用任何剥离版本的依赖项。它并没有解决你的问题,特别是谷歌没有提供任何问题。问题是dex文件限制,解决方案是使用multidex。任何其他路径可能会花费你更多的时间浪费在将来重复修复,这是值得的。

答案 1 :(得分:-1)

您只能获得所需的播放服务库。

要使用地图,您只需要包含

compile 'com.google.android.gms:play-services-maps:6.5.87'
compile 'com.google.android.gms:play-services-location:6.5.87'

而不是:

compile 'com.google.android.gms:play-services:6.5.87'

请查看这些链接以获取更多信息http://android-developers.blogspot.com.br/2014/12/google-play-services-and-dex-method.htmlhttps://developers.google.com/android/guides/setup