Google地图v2在辅助dex机制android上初始化错误



我在初始化map时遇到了一个错误,当我试图将map用作外部库并尝试使其成为辅助库时,apk被创建,当我尝试启动map时,它崩溃了。但当我在没有dex的情况下尝试同样的东西时,效果很好(下面是stacktrace)。

如何解决此问题?我正面临65536限制超出错误。所以,这是创建apk的唯一方法,我正在使用ant。

java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
10-06 22:20:24.374: E/AndroidRuntime(17015):    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
10-06 22:20:24.374: E/AndroidRuntime(17015):    at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
10-06 22:20:24.374: E/AndroidRuntime(17015):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:291)
10-06 22:20:24.374: E/AndroidRuntime(17015):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)

您似乎使用了google-play-services.jar。jar文件不包括一些资源。

将google-play-services_lib链接到您的项目。

java.lang.NoClassDefFoundError.com.google.android.gms.R$styleable在android 中

如果您使用eclipce,请将Google Play Services从您的SDK导入到工作区并添加为库。如果您使用安卓工作室,请将渐变添加为dependencies。compile'com.google.android.gms:play services:6.1.+'

以下是使用Google Play Services进行开发的链接:http://developer.android.com/google/play-services/setup.html

您不能将jar文件用于google play服务。

你可以在Jake Wharton的博客上找到更多关于64k Limit的信息;http://jakewharton.com/play-services-is-a-monolith/

此外,随着Android 5.0 Lolipop的发布,谷歌发布了一个MultiDexApplication库。你应该试试。http://developer.android.com/reference/android/support/multidex/MultiDexApplication.html

注:对于API v21,安卓系统本机支持此功能。

最新更新