【发布时间】:2014-01-31 15:02:38
【问题描述】:
我有一个完全在 Android Studio 中开发的 Android 项目(当前版本为 4.2,gradle 版本为 1.9-all)。我想从 Google Play 服务中添加功能。
项目无法解析GooglePlayServicesUtil,当我手动输入导入时(如下所示),我得到Cannot resolve symbol 'common'。
import com.google.android.gms.common.GooglePlayServicesUtil;
知道我需要做什么才能让GooglePlayServicesUtil 解决吗?
我的尝试
从 Google Play Services Setup 看来,我只需将 com.google.android.gms:play-services:4.+ 依赖项添加到我的 build.gradle 文件(并使用 gradle 重新同步项目文件)即可使 SDK 可用于我的项目。我确实在ProjectName/module/build/exploded-bundles 中得到了一个“爆炸包”,但这似乎并不奏效。
我已经从 SDK 管理器安装了 Google Play Services、Android Support Repository 和 Google Repository。我也多次删除并重新安装它们:)
编辑:
我是否需要手动将 google_play_services 添加为项目/全局库?我试过了,没有成功。
我正在尝试验证我是否正在使用 Google 服务针对 Platform API 进行开发(如果这可能的话),但我不确定情况是否如此。我所做的任何更改似乎都不起作用。
我项目的外部库显示:
- joda-time-2.3
- support-v4-13.0.0
源代码
这是我的 ProjectName/module/build.gradle 文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 17
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
signingConfigs {
}
productFlavors {
}
}
dependencies {
compile 'com.google.android.gms:play-services:4.+'
compile 'joda-time:joda-time:2.3@jar'
}
com.google.android.gms.version 号码在我的清单中解析得很好。这是我的 ProjectName/module/src/main/AndroidManifest.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android" >
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="19"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.android.MainActivity"
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=".SecondActivity"/>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<provider
android:name=".DataProvider"
android:authorities="com.example.android.provider" >
</provider>
<receiver android:name=".WidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_info" />
</receiver>
<service android:name=".DatabaseService" />
<service android:name=".WidgetProvider$UpdateService" />
</application>
</manifest>
这是我的 MainActivity,我正在尝试检查 GooglePlayServices 是否可用:
package com.example.android;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import com.google.android.gms.common.GooglePlayServicesUtil;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onResume() {
Log.i(TAG, "onResume");
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
}
}
【问题讨论】:
-
您还有问题吗?如果是这样,是否有助于进行干净的构建?我们正在查看您可能遇到的错误 code.google.com/p/android/issues/detail?id=64508。
-
我现在已经可以正常工作了(感谢@pyus13),但是您提到的错误听起来与我的问题相符。我仍然可以在新项目上重新创建它,所以当 Android Studio 4.3 发布时我会密切关注。感谢您的提醒。
-
如果其他人遇到此问题寻求帮助,请尝试stackoverflow.com/questions/21100688/… 看看是否适合您。
-
我遇到了同样的问题,但用这个解决了:stackoverflow.com/a/42063112/4531507
标签: java android gradle android-studio google-play-services