当前位置: 首页 > 知识库问答 >
问题:

在Android Studio中导入Google Play服务库

凌嘉志
2023-03-14

我有一个完全在Android Studio中开发的Android项目(目前版本4.2,gradle版本1.9-全部)。我想添加Google Play服务的功能。

项目无法解析GooglePlayServiceSutil,并且当我手动输入导入时(如下所示),我会得到无法解析符号'common'

import com.google.android.gms.common.GooglePlayServicesUtil;

知道要让GooglePlayServiceSutil解析需要做什么吗?

从Google Play Services设置来看,我只需要将com.Google.android.gms:play-services:4.+依赖项添加到我的build.gradle文件(并将项目文件与gradle重新同步)中,就可以使SDK对我的项目可用。我确实在projectname/module/build/bunders-bundles中得到了一个“分解包”,但这似乎不起作用。

我已经从SDK管理器安装了Google Play服务、Android支持存储库和Google存储库。我还多次删除并重新安装了它们:)

编辑:

我是否需要手动添加google_play_services作为项目/全局库?我试过但没有成功。

  • <1.7>
  • Joda-time-2.3
  • 支持-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>
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());
    }
}

共有1个答案

袁宜民
2023-03-14

试一次,确保项目结构中没有出现“ComGoogleAndroidGmsPlay未添加”的错误。

打开file>Project structure并检查下面的所有内容。如果显示错误,请单击标记的红色灯泡,然后单击“添加到依赖项”。

这是Android Studio中的一个bug,并在下一个版本(0.4.3)中修复

 类似资料:
  • 我想在我的LibGDX Android游戏中使用Google Play Game Services API的成就和排行榜。我所做的唯一一件事就是从游戏服务开发者网站上获取运行的示例。我已经尝试在我的项目中使用这段代码很多天了,但仍然一无所获。我也尝试过学习本教程http://helios.hud.ac.uk/u1070589/blog/?p=202但我没有“主游戏类(从ApplicationLis

  • 问题内容: 目前,我的nodejs服务器中的所有模块都作为require()导入,即: 但是我下面的教程将它们导入为: 引发错误: 我的webpack.config.js设置为: 在bablerc中: 我的软件包版本: 导入可以在我的所有React组件文件中使用,而不能在server.js中使用。如何将服务器从require切换到Import? 问题答案: 因为代码是通过babel运行的,所以它可

  • 基本信息 Path: /api/open/import_data Method: POST 接口描述: 请求参数 Headers 参数名称 参数值 是否必须 示例 备注 Content-Type application/x-www-form-urlencoded 是 Body 参数名称 参数类型 是否必须 示例 备注 type text 是 swagger 导入方式 json text 否 {"a

  • 问题内容: 我想将服务注入app.config,以便可以在调用控制器之前检索数据。我这样尝试过: 服务: 配置: 但是我得到这个错误: 错误:未知提供程序:EditorApp的dbService 如何更正设置并注入此服务? 问题答案: Alex提供了无法执行您要尝试执行的操作的正确原因,因此+1。但是您遇到此问题是因为您没有完全使用解决方案的设计方式。 接受服务或函数的字符串,返回要注入的值。由于

  • OBIEE服务器WSDL url是http://mysrvr:port/analytics/saw.dll?WSDL wsdlException:faultcode=parser_error:解析“http://mysrvr:port/analytics/saw.dll?wsdl”时出现问题。:org.xml.sax.saxParseException:实体“html.version”的声明必须以

  • 1. 建立广告位,获取广告位ID 登录系统后台创建APP和广告位,获取AppID 以及 广告位ID 根据需求配置广告位 2. 工程中添加SDK代码 初始化SDK (详细说明) 配置AndroidManifest,声明权限和组件 初始化全局SDK代码 根据创建的广告位样式,添加相应的广告样式的代码 横幅(Banner)广告样式 插屏(Interstitial)广告样式 开屏(Splash)广告样式