带有Google Play服务的Android Studio

and*_*ter 96 android google-play-services android-studio

我正在尝试使用新的Android Studio测试Google Play服务.我有一个与google_play_services.jar相关的项目.但是当我尝试重建项目时,我收到以下错误:

Information:[TstGP3-TstGP3] Crunching PNG Files in source dir: C:\Users\ans\AndroidStudioProjects\TstGP3\TstGP3\src\main\res
Information:[TstGP3-TstGP3] To destination dir: C:\Users\ans\AndroidStudioProjects\TstGP3\build\classes\res-cache\TstGP3-TstGP3
Information:Compilation completed with 2 errors and 0 warnings in 2 sec
Information:2 errors
Information:0 warnings
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\Android_BuildConfig_Generator\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\BuildConfig.java
    Error:Error:line (4)error: duplicate class: com.example.tstgp3.BuildConfig
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\aapt\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\R.java
    Error:Error:line (10)error: duplicate class: com.example.tstgp3.R
Run Code Online (Sandbox Code Playgroud)

它似乎有两个BuildConfig文件和两个R类.我该如何解决这个问题?

编辑:

我注意到编译器编译了两个R.java文件:一个位于我的项目文件夹中,另一个位于文件夹%USERPROFILE%.AndroidStudioPreview所以,我试图在编译器设置中排除这个"Preview"文件夹现在它正在发挥作用.只有在我的项目中开始使用Google Play服务类后,才会出现此问题.如果有人能解释这个问题背后的原因,我将不胜感激.

Ima*_*nol 245

所有这些答案都是错误的,因为gradle插件v0.4.2的发布是android studio下google play服务的设置是直截了当的.您不需要导入任何jar或添加任何项目库,也不需要在android studio下添加任何新模块.您需要做的是将正确的依赖项添加到build.gradle文件中.请查看以下链接:Gradle插件v0.4.2更新,新建系统此示例

正确的方式来做到这一点如下:

首先,您必须启动sdk管理器并下载并安装位于"extras"下的以下文件:Android支持存储库,Google Play服务,Google存储库.

重新启动android studio并打开build gradle文件.您必须在依赖项下修改build.gradle文件:

dependencies {
    compile 'com.google.android.gms:play-services:6.5.87' 
 }
Run Code Online (Sandbox Code Playgroud)

最后同步你的项目(AVD经理左边的按钮).

从版本6.5开始,您可以包含完整的库(非常大)或仅包含您需要的模块(最佳选项).即如果您只需要Google地图和Google Analytics,则可以使用以下示例替换上一个示例:

dependencies {  
    compile 'com.google.android.gms:play-services-base:6.5.87'    
    compile 'com.google.android.gms:play-services-maps:6.5.87'  
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到完整的依赖项列表

一些旁注:

  • 使用最新的播放服务库版本.如果是旧版本,android studio会突出显示它.截至今天(2月5日是6.5.87),但您可以在Gradle Please查看最新版本
  • 在对Android Studio进行重大更新后,按照@ user123321评论中的建议,按照下一条说明清理重建项目

    cd到你的项目文件夹
    ./gradlew clean
    ./gradlew build

  • 确保你./gradlew清理然后./gradlew构建之前android studio 2.x将获得依赖.否则,您将收到NoClassDef错误 (5认同)
  • 我遗失了*Google Repository*,谢谢! (2认同)
  • 截至今天,我得到的最新版本是5.2.08 (2认同)

Ivo*_*nov 113

  1. 转到文件 - >项目结构
  2. 选择"项目设置"
  3. 选择"依赖关系"选项卡
  4. 点击"+"并选择"1.Library Dependencies"
  5. 搜索:com.google.android.gms:播放服务
  6. 选择最新版本并单击"确定"

瞧!无需与Gradle战斗:)

  • 这对我有用,而且非常简单.它已经知道最新的播放服务版本号 - 您只需从列表中选择它,并为您修改gradle文件! (5认同)

小智 5

编辑:这家伙真的把它带回家并有一个很好的小教程 http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html

一面注意:我玩过这么多,我需要做一个gradlew clean让它成功运行

如果您已导入项目或正在使用位于\ extras\google\google_play_services\samples\maps中的示例地图应用程序,请查看本教程.

/sf/answers/1161893491/

如果您从头开始创建一个新项目,请注意Xav对同一帖子的评论.他描述Android Studio使用不同的编译器,您必须手动修改build.gradle文件.我成功地做到了这一点.我复制了

  • 谷歌播放,services.jar
  • google-play-services.jar.properties

进入我的lib目录并将以下内容添加到我的build.gradle文件中

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/google-play-services.jar')
}
Run Code Online (Sandbox Code Playgroud)

此外,如果这是一个项目,也请查看这篇文章.

/sf/answers/1167030581/

  • 您链接到的文章现已弃用.不建议使用此解决方案. (7认同)