我有一个正在运行的基本混合应用程序,我希望通过本机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显示一个显示标记的地图片段。就是这样。 感谢任何帮助!
答案 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.html和https://developers.google.com/android/guides/setup