【问题标题】:Add Google Play Services to Android Studio using Gradle使用 Gradle 将 Google Play 服务添加到 Android Studio
【发布时间】:2024-04-17 19:35:01
【问题描述】:

我正在开发简单的地图应用程序,我添加了 google-play-services.jar 及其对 gradle 的引用

dependencies {
    compile files('libs/android-support-v4.jar', 'libs/google-play-services.jar')
}

主要活动:

setContentView(R.layout.activity_mapui);

GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

布局文件

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.google.android.gms.maps.MapFragment"/>

但是应用在设备上崩溃了

E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(未知 来源)在 com.google.android.gms.maps.MapFragment.onInflate(未知 来源)

我尝试了几种方法,同样的问题,我只想使用 Gradle 0.6+ 将谷歌服务添加到 Android Studio 0.3

【问题讨论】:

    标签: android google-maps gradle android-studio


    【解决方案1】:

    build.gradle 文件的dependencies 部分添加这一行:

    compile 'com.google.android.gms:play-services:3.2.+'
    

    您无需将.jar 添加到您的libs 文件夹中。

    编辑

    正如 Varun 指出的,您还需要更新 SDK 以包含最新版本的播放服务。

    您可以通过从 Eclipse+ADT 打开 Android SDK 管理器(在 Window 选项卡下),选中 Extras 文件夹中 Google Play services 旁边的框,然后单击安装来完成此操作。

    【讨论】:

    • 添加。还要更新 SDK 以包含所需版本的播放服务,并从 SDK 管理器的 extras 部分安装 support/google 存储库。
    • 如果您不需要 2.2(1.7% 的用户群?)支持并且可以使用 2.3,您应该使用更新的版本 compile 'com.google.android.gms:play-services:4.0.30'
    • 因为这条规则,我的毕业生说Relying on packaging to define the extension of the main artifact has been deprecated。我还没有找到任何不推荐使用的方法。
    • 我认为现在最新的播放服务是4.1。所以你应该添加'com.google.android.gms:play-services:4.0.+'
    • compile 'com.google.android.gms:play-services:4.+' 会给你 4.whatever。
    【解决方案2】:

    点击检查所有工具,以确保安全

    点击检查您正在使用的 API

    点击检查所有额外内容以确保安全

    转到文件 -> 项目结构

    最后转到屏幕顶部的build,然后点击rebuild project

    【讨论】:

    • 我在库依赖项中找不到“com.google.android.gms:play-services”。
    • 您是否从 SDK 管理器下载了 Google 支持库?
    • 那是一个帮手!有两件事对我有帮助 1. 检查 SDK 管理器中的所有框 - Extras 2. 通过 GUI 将位置服务依赖项添加到应用程序模块 gradle 构建中。干杯伙伴..
    • 如果你能把一些代码写下来就好了。
    【解决方案3】:

    正如@Matt 所说,这是正确的,我在这里也有我在答案中没有找到的内容。

    要在您的应用程序项目中添加 Google Play 服务库,请按照以下步骤操作:-

    1) 打开应用程序模块目录的build.gradle 文件。看截图

    2) 在您的依赖项中添加新的,在这里您可以在更新 Google Play 服务时更新版本号。

    dependencies {
        ...
        compile 'com.google.android.gms:play-services:4.2.42'
        compile files('src/main/libs/gson-2.2.4.jar')
    
    }
    

    3) 现在最重要的是保存您的文件并单击工具栏中的与Gradle 文件同步。

    【讨论】:

    【解决方案4】:

    这对我不起作用,我必须在 Android SDK Manager - Extras 中下载 Goople 存储库来修复它。

    【讨论】:

      【解决方案5】:

      尽量避免包含整个 google play 服务,当您使用更多库时,您会得到 Multidex 异常:

      .dex文件中方法引用的数量不能超过64k

      所以最好的使用方法:

      compile 'com.google.android.gms:play-services-maps:9.8.0'
      

      如果您希望包含其他服务,请参阅此处:

      https://developers.google.com/android/guides/setup(向下滚动)

      【讨论】:

      • Imran 我正在使用 compile 'com.google.android.gms:play-services-maps:9.8.0' 但出现错误 请通过更新 google- 的版本来修复版本冲突服务。请帮助
      【解决方案6】:

      转到 Android SDK Manager,转到 Extras,选择 Google Play Services 和 Google Repository,然后单击“Install Packages...”按钮。

      在编辑器的代码窗口中单击“build.gradle”文件,然后单击“重试”链接按钮...

      等到 gradle 构建完成。

      【讨论】:

        【解决方案7】:

        在你的安卓测试手机中进入设置->应用,搜索google play services并点击它,你会找到你设备上安装的版本号。

        For me it was 9.6.83
        

        然后只需将您的版本号添加到下面的此命令中:-

        编译'com.google.android.gms:play-services:9.6.83'

        • 将此添加到您的 build.gradle(app)

        • Gradle 同步

        稍后您可能会收到一个 gradle 错误,指出需要安装特定的存储库,继续下载吧!瞧,您的下一个 gradle 同步成功。

        【讨论】:

          【解决方案8】:

          将此行添加到您的应用 gradle 在依赖块中

          实现 'com.google.android.gms:play-services-maps:15.0.1'

          【讨论】:

          • 添加有关在哪个文件中添加此内容的详细信息会很有帮助。请编辑
          【解决方案9】:

          在您的 android 项目中添加 Google Play 服务广告及其功能

          • 打开您的 Android Studio build.gradle 文件
          • 在依赖项中添加 Google Play 服务
          • 实施 'com.google.android.gms:play-services-ads:20.5.0'
          • 同步您的 build.gradle 文件

          【讨论】: