error: package com.google.android.gcm does not exist - After migrating to Gradle
error: package com.google.android.gcm does not exist - After migrating to Gradle
我在没有 Gradle 的情况下使用 IntelliJ 开发的旧项目有问题。我想将它迁移到 Android Studio 和 Gradle,但我遇到了很多问题。由于该项目很旧,因此使用了旧的 Google Play Services 版本。在 Intellij 中,我刚刚将旧 gps 的 libproject 添加到依赖项 (google_play_services_5089000_r19) 并且一切正常。在 Android Studio 中,我设法通过将其添加为库模块并将 compile project(':segmentedradios')
添加为 gradle 依赖项来添加其他库,但我无法使 gps 库工作。我尝试将其添加为模块,但 Android Studio 在指向 libroject
库目录后显示 "no module selected"。我也尝试将其添加为 gradle 依赖项,但我不断收到如下错误:
error: package com.google.android.gcm does not exist
error: package com.google.android.maps does not exist
error: cannot find symbol variable GCMRegistrar
尽管我尝试了大约 10 种不同的解决方案,但该项目仍然无法正常工作。如何解决?
Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion "Google Inc.:Google APIs:18"
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "my_package.app_name"
minSdkVersion 14
targetSdkVersion 18
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
compile files('libs/libGoogleAnalyticsV2.jar')
compile project(':segmentedradios')
compile 'com.google.android.gms:play-services:5.0.89'
}
GCMRegistrar
不是 Google Play 服务的一部分,而是 now entirely deprecated gcm.jar
文件的一部分。
如果您想在迁移到 Google Play 服务的 GCM 实现之前暂时继续使用它,则需要将 gcm.jar
添加到您的依赖项中:
compile files('libs/gcm.jar')
您需要在应用程序的 build.gradle 文件中添加这两行:
dependencies {
...
compile 'com.google.maps:google-maps-services:0.1.3'
compile 'com.google.android.gms:play-services:6.5.87'
}
您可以通过此路径下载gcm.jar
http://www.java2s.com/Code/Jar/g/Downloadgcmjar.htm
或这个
http://www.java2s.com/Code/JarDownload/gcm/gcm.jar.zip
下载后解压,扩展名应该是.jar
而不是.jar.zip
然后将其复制并粘贴到项目中的 libs
目录
然后右击gcm.jar
然后点击add as lib
就是这样
我在没有 Gradle 的情况下使用 IntelliJ 开发的旧项目有问题。我想将它迁移到 Android Studio 和 Gradle,但我遇到了很多问题。由于该项目很旧,因此使用了旧的 Google Play Services 版本。在 Intellij 中,我刚刚将旧 gps 的 libproject 添加到依赖项 (google_play_services_5089000_r19) 并且一切正常。在 Android Studio 中,我设法通过将其添加为库模块并将 compile project(':segmentedradios')
添加为 gradle 依赖项来添加其他库,但我无法使 gps 库工作。我尝试将其添加为模块,但 Android Studio 在指向 libroject
库目录后显示 "no module selected"。我也尝试将其添加为 gradle 依赖项,但我不断收到如下错误:
error: package com.google.android.gcm does not exist
error: package com.google.android.maps does not exist
error: cannot find symbol variable GCMRegistrar
尽管我尝试了大约 10 种不同的解决方案,但该项目仍然无法正常工作。如何解决?
Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion "Google Inc.:Google APIs:18"
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "my_package.app_name"
minSdkVersion 14
targetSdkVersion 18
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
compile files('libs/libGoogleAnalyticsV2.jar')
compile project(':segmentedradios')
compile 'com.google.android.gms:play-services:5.0.89'
}
GCMRegistrar
不是 Google Play 服务的一部分,而是 now entirely deprecated gcm.jar
文件的一部分。
如果您想在迁移到 Google Play 服务的 GCM 实现之前暂时继续使用它,则需要将 gcm.jar
添加到您的依赖项中:
compile files('libs/gcm.jar')
您需要在应用程序的 build.gradle 文件中添加这两行:
dependencies {
...
compile 'com.google.maps:google-maps-services:0.1.3'
compile 'com.google.android.gms:play-services:6.5.87'
}
您可以通过此路径下载gcm.jar
http://www.java2s.com/Code/Jar/g/Downloadgcmjar.htm
或这个
http://www.java2s.com/Code/JarDownload/gcm/gcm.jar.zip
下载后解压,扩展名应该是.jar
而不是.jar.zip
然后将其复制并粘贴到项目中的 libs
目录
然后右击gcm.jar
然后点击add as lib
就是这样