我遇到了一个在没有Gradle的IntelliJ中开发的旧项目的问题。我想将它迁移到Android Studio和Gradle,但我遇到了很多问题。由于该项目已经过时,因此使用了旧的Google Play服务版本。在Intellij中,我刚刚将旧gps的libproject添加到依赖项(google_play_services_5089000_r19),一切正常。在Android Studio中,我设法通过将其添加为库模块并添加compile project(':segmentedradios')
作为gradle依赖项来添加其他库,但我无法使gps库工作。我曾尝试将其添加为模块,但Android Studio在指向libroject
库的目录后表示“未选择模块”。我也尝试将其添加为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种不同的解决方案,但该项目仍无效。如何解决?
摇篮:
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'
}
答案 0 :(得分:25)
GCMRegistrar
不属于Google Play服务,但属于now entirely deprecated gcm.jar
文件。
如果您希望暂时继续使用它,则需要向依赖项添加gcm.jar
,直到您迁移到Google Play服务的GCM实施:
compile files('libs/gcm.jar')
答案 1 :(得分:2)
您可以通过此路径下载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
就是这样
答案 2 :(得分:1)
您需要在应用程序的build.gradle文件中添加这两行:
dependencies {
...
compile 'com.google.maps:google-maps-services:0.1.3'
compile 'com.google.android.gms:play-services:6.5.87'
}