Android Google Play服务客户端出错
我一直在努力让这个android项目与gradle一起在android studio中工作。我对这一切都相当陌生,所以这可能是一个简单的问题,但我已经花了好几天时间,无法克服在尝试运行项目时遇到的错误:Android Google Play服务客户端出错,android,android-studio,gradle,Android,Android Studio,Gradle,我一直在努力让这个android项目与gradle一起在android studio中工作。我对这一切都相当陌生,所以这可能是一个简单的问题,但我已经花了好几天时间,无法克服在尝试运行项目时遇到的错误: Error:(25, 62) error: package com.google.android.gms.common.GooglePlayServicesClient does not exist Error:(26, 62) error: package com.google.android
Error:(25, 62) error: package com.google.android.gms.common.GooglePlayServicesClient does not exist
Error:(26, 62) error: package com.google.android.gms.common.GooglePlayServicesClient does not exist
Error:(27, 39) error: cannot find symbol class LocationClient
Error:(42, 60) error: cannot find symbol class ConnectionCallbacks
Error:(43, 3) error: cannot find symbol class OnConnectionFailedListener
Error:(82, 10) error: cannot find symbol class LocationClient
Error:(586, 26) error: cannot find symbol class LocationClient
Error:(618, 2) error: method does not override or implement a method from a supertype
Error:(627, 2) error: method does not override or implement a method from a supertype
Error:(635, 2) error: method does not override or implement a method from a supertype
Error:Execution failed for task ':compileDebugJava'.
> Compilation failed; see the compiler error output for details.
以下是错误来自文件的顶部部分(我已经标记了有问题的行):
当我悬停代码中标记的行时:
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
import com.google.android.gms.location.LocationClient;
上面写着:“无法解析符号”
这是我的build.gradle文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
// NOTE: Do not place your application dependencies here; they
// belong in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
apply plugin: 'com.android.application'
dependencies {
compile 'com.android.support:appcompat-v7:22.0.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:7.0.0'
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 22
buildToolsVersion "22"
compileOptions.encoding = 'windows-1251'
defaultConfig {
minSdkVersion 19
targetSdkVersion 22
versionCode 2
versionName "2.0"
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
buildscript{
存储库{
jcenter()
}
依赖关系{
classpath'com.android.tools.build:gradle:1.1.0'
//注意:不要将应用程序依赖项放在此处;它们
//属于各个模块build.gradle文件
}
}
所有项目{
存储库{
jcenter()
}
}
应用插件:“com.android.application”
依赖关系{
编译'com.android.support:appcompat-v7:22.0.0'
编译文件树(目录:“libs”,包括:['*.jar'])
编译'com.google.android.gms:play services:7.0.0'
编译文件('libs/android-support-v4.jar')
}
安卓{
编译DK22版
buildToolsVersion“22”
compileOptions.encoding='windows-1251'
默认配置{
明斯克版本19
targetSdkVersion 22
版本代码2
版本名称“2.0”
}
源集{
主要{
manifest.src文件“AndroidManifest.xml”
java.srcDirs=['src']
resources.srcDirs=['src']
aidl.srcDirs=['src']
renderscript.srcDirs=['src']
res.srcDirs=['res']
assets.srcDirs=['assets']
}
//将测试移动到tests/java、tests/res等。。。
instrumentTest.setRoot('tests'))
//将生成类型移动到生成类型/
//例如,build-types/debug/java、build-types/debug/AndroidManifest.xml。。。
//这会将它们移出src/…下的默认位置,这将
//与主源集正在使用的src/冲突。
//应同时添加新的构建类型或产品风格
//通过类似的定制。
setRoot('build-types/debug')
setRoot('build-types/release')
}
}
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.gatech.ppl.cycleatlanta"
android:versionCode="2"
android:versionName="2.0" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" >
</uses-feature>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="edu.gatech.ppl.cycleatlanta.TabsConfig"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.MainInputActivity"
android:label="@string/title_activity_main_input" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.TripPurposeActivity"
android:label="@string/title_activity_trip_purpose" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.UserInfoActivity"
android:label="@string/title_activity_user_info" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.TripMapActivity"
android:label="@string/title_activity_trip_map" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.SavedTripsActivity"
android:label="@string/title_activity_saved_trips" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.TripDetailActivity"
android:label="@string/title_activity_trip_detail" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.NoteTypeActivity"
android:label="@string/title_activity_note_type" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.NoteDetailActivity"
android:label="@string/title_activity_note_detail" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.NoteMapActivity"
android:label="@string/title_activity_note_map" >
</activity>
<activity
android:name="edu.gatech.ppl.cycleatlanta.SavedNotesActivity"
android:label="@string/title_activity_saved_notes" >
</activity>
<service
android:name="edu.gatech.ppl.cycleatlanta.RecordingService"
android:enabled="true"
android:exported="true" >
</service>
<activity
android:name="edu.gatech.ppl.cycleatlanta.MainActivity"
android:label="@string/title_activity_main" >
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyB9orX8RcKrVvF8Vg1_yMhIvu59XUW_inw" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
在我看来,google play服务链接存在问题。我已经按照几个不同的例子,并肯定有它下载,但我不能让它工作。此外,我感觉我的清单(不确定sdk版本的正确目标)和gradle文件(jcenter或maven?以及设置正确的依赖项)可能配置不正确
这方面的任何帮助都将是非常好的。过去几天我一直在搜索互联网,但我无法解决我确信是一个简单的问题…您的位置实现基于旧版本的Google Play services,但您导入了Play services 7.0.0,即“Google PlayServicesClient”已不存在 您可以在build.gradle文件中将play services版本更改为旧版本 或
您可以将示例用于较新的位置实现。非常有趣,我继续潜伏在moar中,发现有人针对gradle构建中的依赖项提出了以下建议:
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'com.google.android.gms:play-services:4.+'
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:21.0.0'
不确定什么是cardview或recyclerview,但play服务是一个相当低的版本。但这该死的东西会建立起来!现在唯一的问题是,当您尝试打开应用程序时,它会在模拟器中崩溃(不幸的是,它已经停止了消息)。我想知道这是否是一个新问题,或者我的配置仍处于关闭状态?如果您使用的是Google Play Services 7.0.0,您只需更改即可
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
到
如果覆盖了onDisconnected方法,也应该将其删除。嘿,谢谢。检查我下面的回答,因为我刚刚发现降低播放服务版本似乎是关键。您能告诉我如何确定要使用的正确播放服务版本吗?我不知道GoogleapClient是在哪个版本中引入的。测试sdk路径中列出的不同版本:extras/google/m2repository/com/google/android/gms/play services针对模拟器崩溃问题,下载包含play services apk form sdk manager的google API模拟器系统映像,并创建新的AVD。
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;