【问题标题】:Google Maps in Android StudioAndroid Studio 中的谷歌地图
【发布时间】:2013-12-10 19:32:43
【问题描述】:

我正在尝试从 Android Studio 中将 Google 地图添加到我的应用程序中。我找到了一个建议打开我的 .grade 文件的教程:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
} 
apply plugin: 'android'

并将这一行添加到依赖项:

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

我添加了这一行,我的 .grade 文件如下所示:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
        compile 'com.google.android.gms:play-services:3.2.25'
    }
}
apply plugin: 'android'

dependencies {
}

android {
    compileSdkVersion 17
    buildToolsVersion "17"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 17
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

当我添加此行并尝试重建我的项目时,我收到此错误:

Gradle: A problem occurred evaluating root project 'BeerPortfolioPro'.
> No signature of method: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() is applicable for argument types: (java.lang.String) values: [com.google.android.gms:play-services:3.2.25]
  Possible solutions: module(java.lang.Object)

更新:

我尝试将我的 .grade 从以下答案之一更改为:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'

    }
}
apply plugin: 'android'

dependencies {

    compile 'com.google.android.gms:play-services:4.0.30'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 17
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

现在我得到了这个错误:

Gradle: A problem occurred configuring root project 'BeerPortfolioPro'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':_DebugCompile'.
      > Could not find com.google.android.gms:play-services:4.0.30.
        Required by:
            :BeerPortfolioPro:unspecified

【问题讨论】:

  • 旁注:如果您不打算支持 Froyo 或 Gingerbread(API 8 到 10),请考虑将支持的最低版本更改为 15。只有 0.1% 的 Honeycomb 设备处于活动状态,并且在 12,13 和 14 之间可以忽略不计。

标签: android google-maps android-studio


【解决方案1】:

打开您的 SDK 管理器并安装/更新 Android Support Repository、Android Support Library v19、Google Repository 和 Google Play Service v13。

【讨论】:

    【解决方案2】:

    我遇到了类似的“没有方法签名”错误,并意识到我将依赖项添加到了错误的文件中。在创建我的项目时,Android Studio 创建了 2 个 build.gradle 文件,一个在项目根目录中(与 local.properties 和 gradle.properties 一起),一个在以我的应用命名的子目录中(与 src 和 build 目录一起)。 play-services 依赖项需要添加到这些文件中的后者,而不是前者。

    【讨论】:

      【解决方案3】:

      buildscript 部分中的 dependencies 块用于包含 gradle 构建脚本所需的文件。 Google Play 服务应位于“应用程序”的“依赖项”部分。

      这是一个建议的 buildscript 解决方案。

      buildscript {
          repositories {
              mavenCentral()
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:0.6.+'
          }
      }
      apply plugin: 'android'
      
      
      repositories {
          mavenCentral()
       }
      
      android {
           compileSdkVersion 19
           buildToolsVersion "19"
      
           defaultConfig {
              minSdkVersion 11
              targetSdkVersion 19
           }
      
          sourceSets {
              main {
                  manifest.srcFile 'AndroidManifest.xml'
                  java.srcDirs = ['src']
                  resources.srcDirs = ['src']
                  aidl.srcDirs = ['src']
                  renderscript.srcDirs = ['src']
                  res.srcDirs = ['res']
                  assets.srcDirs = ['assets']
              }
      
              instrumentTest.setRoot('tests')
          }
      
      dependencies {
          compile 'com.android.support:support-v4:19.0.0'
          compile 'com.google.android.gms:play-services:4.0.30'
      }
      

      补充说明

      classpath 'com.android.tools.build:gradle:0.6.+'
      

      这将确保您拥有最新的 gradle 6 构建工具。

      此外,以下块将确保您使用的是最新的 SDK 版本和构建工具,同时仍将 SDK 11 作为支持的最低版本。 Build Tools v19.0.0 比以前的版本有所改进,但也能很好地与 Java 7 配合使用。

      compileSdkVersion 19
      buildToolsVersion "19.0.0"
      defaultConfig {
          minSdkVersion 11
          targetSdkVersion 19
      }
      

      如果您无法引用 play-service 4,那么临时解决方案可能是引用文档中指定的 play-services:3.2.25。更好的解决方案是将库上传到您自己的 maven 存储库(如 Sonatype Nexus)并从那里提取依赖项。

      【讨论】:

      • 尝试了您的建议,但现在我在重建时收到此错误:Gradle:配置根项目“BeerPortfolioPro”时出现问题。 > 未能通知项目评估监听器。 > 无法解析配置“:_DebugCompile”的所有依赖项。 > 找不到 com.android.support:support-v4:19.0.0。要求::BeerPortfolioPro:unspecified > 找不到 com.google.android.gms:play-services:4.0.30。要求::BeerPortfolioPro:unspecified
      • 如果您无法引用 play-service 4,那么临时解决方案可能是引用文档中指定的 play-services:3.2.25。更好的解决方案是将库上传到您自己的 maven 存储库(如 Sonatype Nexus)并从那里提取依赖项。同样的解决方案也适用于支持库。另外,如果不需要,请不要包含支持库。
      • 要解决找不到库的问题,请打开您的 SDK 管理器并安装 Android Support Repository 和 Google Repository。
      【解决方案4】:

      这是minSdkVersion 的问题。对于 Android 4.0,将其更改为 14。

          buildscript {
          repositories {
              mavenCentral()
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:0.7.+'
          }
      }
      
      apply plugin: 'android'
      
      repositories {
          mavenCentral()
      }
      
      android {
          compileSdkVersion 19
          buildToolsVersion "19.0.1"
      
          defaultConfig {
              minSdkVersion 14
              targetSdkVersion 19
              versionCode 1
              versionName "1.0"
          }
          buildTypes {
              release {
                  runProguard false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
              }
          }
      }
      dependencies {
          compile 'com.google.android.gms:play-services:4.0.30'
          compile 'com.android.support:appcompat-v7:+'
      }
      

      【讨论】:

        猜你喜欢
        • 2017-08-16
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多