使用Gradle将Google Play服务添加到Android Studio

时间:2013-11-01 17:37:52

标签: android google-maps gradle android-studio

我在简单的地图应用上工作,我添加了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:致命异常:主要   java.lang.NoClassDefFoundError:com.google.android.gms.R $ styleable at   com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(未知   来源)com.google.android.gms.maps.MapFragment.onInflate(未知   源)

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

8 个答案:

答案 0 :(得分:33)

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

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

您无需在.jar文件夹中添加libs

修改

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

您可以通过从Eclipse + ADT打开Android SDK Manager(在Window标签下),选中Google Play services文件夹中Extras旁边的复选框,然后点击安装。

答案 1 :(得分:26)

enter image description here

enter image description here

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

enter image description here

点击您正在使用的API

enter image description here

点击检查所有附加内容是否安全

enter image description here

转到文件 - &gt;项目结构

enter image description here

enter image description here

enter image description here

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

答案 2 :(得分:22)

正如@Matt说的,这是对的,我在这里也被覆盖了,我在答案中找不到。

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

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

Screenshot

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文件Icon同步。

答案 3 :(得分:13)

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

答案 4 :(得分:3)

尽量避免包含整个Google Play服务,当您使用更多库时,您会获得 Multidex 例外:

  

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

这是最好的使用方式:

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

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

  

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

答案 5 :(得分:1)

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

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

等到Gradle构建完成。

答案 6 :(得分:0)

转到设置 - &gt;你的Android测试手机中的应用程序和搜索谷歌播放服务并点击它,你会在那里找到你的设备上安装的版本号。

For me it was 9.6.83

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

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

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

  • Gradle sync

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

答案 7 :(得分:0)

将此行添加到您的应用程序gradle 在依赖项中

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