编辑:我解决了这个问题:) 这个错误的原因:
- 在实现GCM客户端的教程中,有一个链接可以下载演示的完整源代码。
- 为了参考下载并在build.gradle中添加google_play_service库。
- 进行了一些推荐的更改,如SENDER_ID,SERVER_URL等。
- 将项目与gradle同步后出现了这个错误。
我是如何解决的!
- 经过大量的谷歌搜索,我发现这个类不在google_play_service库中,而是在已弃用的gcm.jar中。 我不知道为什么谷歌会给出旧代码的链接,并在文档中解释最新代码。
- 然后我包括了gcm.jar
- 错误消失了,得到了推送通知:)
希望这对遇到这个问题的人有所帮助!
我的旧问题
我是android studio的新手。我不理解build.gradle。今天我正在按照https://developer.android.com/google/gcm/client.html上给出的指示实现gcm-demo-client 但是当我从建议的开源代码中导入时,我遇到了以下错误。
/home/shani/Desktop/gcm-76908409d9d5/samples/gcm-demo-client1/app/src/main/java/com/google/android/gcm/demo/app/GCMIntentService.java:28: error: cannot find symbol
import com.google.android.gcm.GCMBaseIntentService;
^
symbol: class GCMBaseIntentService
location: package com.google.android.gcm
此外还有其他25个错误。在谷歌上搜索后,我发现这是因为我没有在build.gradle中添加google play服务库。
然后我添加了库: 以下是我的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.google.android.gcm.demo.app"
minSdkVersion 8
targetSdkVersion 16
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
dependencies {
compile "com.google.android.gms:play-services:3.1.+"
}
}
}
现在,当我点击同步链接时,我得到了“构建成功”的提示。但是,当我尝试在真实设备上运行时,会出现上面的错误。我不知道我做错了什么。请给我提供解决方案,我已经花了两天时间实现GCM演示应用程序。