0

我在我的 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

我错过了什么?

4

2 回答 2

0

您的设置看起来有问题,因此您遇到了该异常,因为在运行时无法检索属于 Google Play 服务库的资源。基本上是因为该指南没有更新,并且您在实际上可以避免它时设置了很多东西。

我的建议是:

  • 开始一个干净的项目或删除您按照该指南所做的任何设置;
  • 在 SDK 管理器中,从 Extras “Android Support Library”、“Android Support Repository”和“Google Play Services”下载;
  • 在您的 build.gradle 文件中,将依赖项添加到 Google Play 服务库和支持库(仅当您需要时才使用它,这不是强制性的)。例子:

    buildscript { repositories { mavenCentral() } 依赖项 { classpath 'com.android.tools.build:gradle:0.6.1' } } 应用插件:'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.+' }

于 2013-10-31T15:00:36.627 回答
0

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

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

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

  3. 将库“google-play-services”(在导入模块后出现)添加到您的主项目

重建它应该可以正常工作

于 2014-01-13T17:08:05.107 回答