带有Google Play服务的Android Studio
我正在尝试使用新的Android StudiotestingGoogle Play服务。 我有一个依赖于google_play_services.jar的项目。 但是当我尝试重build项目时,我得到以下错误:
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
它似乎有两个BuildConfig文件和两个R类。 我该如何解决这个问题?
编辑:
我注意到,编译器编译两个R.java文件:一个在我的项目文件夹中,另一个在%USERPROFILE%.AndroidStudioPreview文件夹中。所以,我试图在编译器设置中排除这个“预览”文件夹现在它正在工作。 只有在我的项目中开始使用Google Play服务课程后,才会出现此问题。 如果有人能解释这个问题背后的原因,我将不胜感激。
所有这些答案都是错误的,因为gradle插件v0.4.2的发布在android studio下的google play服务的设置是直截了当的。 你不需要导入任何jar或添加任何项目库,也不需要在android studio下添加任何新的模块。 你必须做的是将正确的依赖关系添加到build.gradle文件中。 请看看这些链接: Gradle插件v0.4.2更新 , 新build系统 ,和这个示例
正确的做法如下:
首先你必须启动SDKpipe理器 ,下载并安装“extras”下面的文件: Android支持库 , Google Play服务 , Google存储库 。
重新启动android studio并打开构buildgradle文件。 你必须修改你的build.gradle文件在依赖关系下看起来像这样:
dependencies { compile 'com.google.android.gms:play-services:6.5.87' }
最后同步您的项目(AVDpipe理器左侧的button)。
从版本6.5开始,可以包含完整的库(非常大)或者只包含您需要的模块(最佳选项)。 也就是说,如果您只需要Google地图和Google Analytics(分析),则可以将以前的示例replace为以下示例:
dependencies { compile 'com.google.android.gms:play-services-base:6.5.87' compile 'com.google.android.gms:play-services-maps:6.5.87' }
你可以在这里find完整的依赖列表
一些附注:
- 使用最新的播放服务库版本。 如果是旧版本,android studio会突出显示它。 截至今天(2月5日是6.5.87),但你可以查看Gradle Please的最新版本
-
在Android Studio的重大更新之后,按照@ user123321评论中的build议,按照下面的说明清理重build项目
cd到你的项目文件夹
./gradlew干净
./gradlew构build
- 转到文件 – >项目结构
- select“项目设置”
- select“依赖关系”选项卡
- 点击“+”并select“1.Library Dependencies”
- search:com.google.android.gms:play-services
- select最新版本,然后点击“确定”
瞧! 没有必要与格雷尔战斗:)
编辑:这家伙真的把它带回家,并有一个很好的小教程 http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html
一方面说明:我曾经玩过很多次,所以我需要做一个gradlew clean
,才能让它顺利运行
如果您已导入项目或正在使用位于\ extras \ google \ google_play_services \ samples \ maps中的示例地图应用程序,请参阅本教程。
https://stackoverflow.com/a/16598478/2414698
如果你是从头开始创build一个新的项目,那么请注意Xav对这个post的评论。 他描述了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') }
另外,如果这是一个新项目,也请查看这篇文章。
这些答案大多只能解决编译时的依赖问题,但是在运行时你会发现一些NoClassDefexception。 那是因为你需要比google-play-services.jar更多的东西。 它引用作为库项目一部分的资源,如果你只有jar,那么这些资源就没有被正确包含。
最适合我的是在eclipse中首先正确地获得项目设置。 让您的项目结构化,使其包含您的应用程序和库,如下所述: http : //tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup
然后从eclipse导出你的应用程序项目,并导入到Android Studio,如下所述: http : //developer.android.com/sdk/installing/migrate.html 。 确保导出您的应用程序项目和谷歌播放服务库项目。 导入时将检测库项目并将其作为模块导入。 我只是在项目导入过程中接受了所有的默认值。
上面的解决scheme都没有为我工作。 不知道是否它是特定于我的设置或新版本。
我正在使用Android Studio Beta 0.8.9,并且没有在库列表中获得任何com.google.android.gms:play-service:
转到文件 – >项目结构 – >select项目设置 – >select“依赖项”选项卡单击“+” – > 1.库依赖关系 – >selectcom.google.android.gms:play-services:+
我已经这样做了:
首先你必须启动SDKpipe理器,下载并安装“extras”下面的文件:Android支持库,Google Play服务,Google存储库。
解决的办法是从SDK Manager添加“Google Play for Froyo”,然后重复第一步。
没有正确理解原因,但这工作。
PS:我刚刚观察到,即使现在当我search游戏服务时,这也不会到来,但是当我直接滚动查看列表时,它就在那里。
按照这篇文章 – > http://developer.android.com/google/play-services/setup.html
你应该select使用Android Studio
示例Gradle文件:
注意: 打开应用程序模块目录中的build.gradle文件。
apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig { applicationId "{applicationId}" minSdkVersion 14 targetSdkVersion 20 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:20.+' compile 'com.google.android.gms:play-services:6.1.+' }
您可以在这里find最新版本的Google Play服务: https : //developer.android.com/google/play-services/index.html
我做了以下工作后,我有这个工作:
- 将google-play-services-lib作为模块(注意模块和项目之间的区别),然后将google-play-services.jar添加到您的模型“libs”目录中。
- 之后,通过制作库或将jar添加到另一个库,将jar添加到构buildpath。 我通常有一个IDEA库,我将所有/libs/*.jar文件添加到。
- 通过模块设置(F4)将库添加到模块构buildpath。
- 将google-play-services-lib作为模块依赖添加到您的项目中。
- 完成!
注意:这不会给我的运行时exception,它的工作原理。
Google Play服务在Android Studio中集成
步骤1:
SDK manager->Tools Update this 1.Google play services 2.Android Support Repository
第2步:
chance in build.gradle defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" } dependencies { compile 'com.android.support:appcompat-v7:+' compile 'com.google.android.gms:play-services:4.0.+' }
第3步:
android.manifest.xml <uses-sdk android:minSdkVersion="8" />
步骤4:
Sync project file with grandle. wait for few minute.
第5步:
File->Project Structure find error with red bulb images,click on go to add dependencies select your app module. Save
如果您需要帮助,请发表评论。 快乐的编码。
打开你的项目build.gradle文件,并在依赖关系模块下添加下面的行。
dependencies { compile 'com.google.android.gms:play-services:7.0.0' }
如果您不想整合完整资料库,下方会新增「 Google Analytics(分析) 」和「 Google 地图」
dependencies { compile 'com.google.android.gms:play-services-analytics:7.0.0' compile 'com.google.android.gms:play-services-maps:7.0.0' }
在我的情况下, google-play-services_lib在我的项目中作为Google地图和GCM的模块(External Libs)集成。
现在,这些时间需要实现Google Places自动完成API,但问题是代码是新的,我的库是旧的,所以找不到一些类:
遵循这些步骤…
1>将Google Play服务更新到SDK Manager
2>select新的.jar文件的谷歌播放服务( Sdk的/额外的/谷歌/谷歌播放服务/ libproject /谷歌播放服务的lib /库 )取代旧的
我成功了!
我将播放库文件从google-play-services_lib复制到我的项目库目录中:
- 谷歌播放,services.jar
- google-play-services.jar.properties。
然后选中它们,右键单击“添加为库”。