Android Google Maps v2:java.lang.NoClassDefFoundError:com.google.android.gms.R $ styleable

时间:2013-10-31 14:19:16

标签: java android google-maps

我在Android应用中使用Maps v2 API。地图过去工作正常,但显然项目设置中的某些内容已更改,现在每次我使用地图启动视图时都会出现以下错误:

java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
        at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:269)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:397)

我正在使用Android Studio,我按照本指南设置了库。 http://forum.xda-developers.com/showthread.php?t=2328738

我错过了什么?

2 个答案:

答案 0 :(得分:0)

您的设置看似错误,因此您获得该异常,因为在运行时无法检索属于Google Play服务库的资源。基本上是因为该指南没有更新,你可以设置很多东西,而实际上可以避免它。

我的建议是:

  • 启动一个干净的项目或删除您在该指南后所做的任何设置;
  • 在SDK Manager中,从Extras“Android支持库”,“Android支持存储库”和“Google Play服务”下载;
  • build.gradle文件中的
  • 将依赖项添加到Google Play服务库和支持库(只有在您需要时才会这样,这不是强制性的)。 例如:

    buildscript {     存储库{         mavenCentral()     }     依赖{         classpath'com.android.tools.build:gradle:0.6.1'     } } apply plugin:'android'

    知识库{     mavenCentral() }

    android {     compileSdkVersion 17     buildToolsVersion“18.0.1”

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 17
    }
    

    }

    依赖{     编译'com.android.support:support-v4:18.0.0'     编译'com.google.android.gms:play-services:3.1。+' }

答案 1 :(得分:0)

我也有同样的问题,显然如果您只是导入google play服务.jar文件,Android Studio将无法找到必要的资源文件。鉴于此,我通过导入GooglePlayService项目模块和.jar文件来解决它:

  1. 转到项目结构 - >将模块“/ extras / google / google_play_services / libproject / google-play-services_lib”导入您的项目。

  2. 添加导入到主项目的模块的模块依赖关系

  3. 将库'google-play-services'(导入模块后显示)添加到主项目

  4. 重建,它应该可以正常工作