找不到从 Google Play Services Util 引用的类

Posted

技术标签:

【中文标题】找不到从 Google Play Services Util 引用的类【英文标题】:Could not find class referenced from Google Play Services Util 【发布时间】:2015-10-02 14:52:32 【问题描述】:

我已将 Google Analytics 添加到我的 android 项目并遵循所有说明,但我仍然在 LogCat 中收到这 2 条错误消息:

E/dalvikvm: Could not find class 'android.os.UserManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zzah
W/dalvikvm: VFY: unable to resolve check-cast 276 (Landroid/os/UserManager;) in Lcom/google/android/gms/common/GooglePlayServicesUtil;

E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zzb
W/dalvikvm: VFY: unable to resolve check-cast 25 (Landroid/app/AppOpsManager;) in Lcom/google/android/gms/common/GooglePlayServicesUtil;

这实际上并没有使应用程序崩溃,但很高兴知道为什么会发生这种情况。

Android 清单(经过混淆处理):

<?xml version="1.0" encoding="utf-8"?>
<manifest
    package="com.example.android"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

    <application
        android:allowBackup="true"
        android:allowClearUserData="true"
        android:allowTaskReparenting="true"
        android:fullBackupContent="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:restoreAnyVersion="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

        <receiver
            android:name="com.google.android.gms.analytics.AnalyticsReceiver"
            android:enabled="true">
            <intent-filter>
                <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH"/>
            </intent-filter>
        </receiver>

        <receiver
            android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER"/>
            </intent-filter>
        </receiver>

        <service
            android:name="com.google.android.gms.analytics.AnalyticsService"
            android:enabled="true"
            android:exported="false"/>

        <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/>

    </application>

</manifest>

你们中有人知道这个错误吗?

Gradle(缩短):

classpath 'com.android.tools.build:gradle:1.4.0-beta3'
classpath 'com.google.gms:google-services:1.4.0-beta3'

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.google.android.gms:play-services-analytics:8.1.0'

【问题讨论】:

UserManager 需要 API 级别 17,而 AppOpsManager 需要 API 级别 19。相应地设置 targetVersion。否则,这可能是一个多索引问题,例如here。 【参考方案1】:

参考Koh

UserManager 需要 API 级别 17,而 AppOpsManager 需要 API 级别 19。[...] 否则,这可能是一个多索引问题,例如 here。”

【讨论】:

亲爱的 Androbin 我有点和你一样的问题,你可以在这里找到问题:***.com/questions/59436439/… 请你看看并帮助我

以上是关于找不到从 Google Play Services Util 引用的类的主要内容,如果未能解决你的问题,请参考以下文章

Android 同步失败 - 找不到 com.google.android.gms:play-services-auth:15.1.0

Xamarin 找不到与给定名称匹配的资源 @integer/google_play_services_version

没有 Gradle - 找不到与给定名称匹配的资源(在“值”处,值为“@integer/google_play_services_version”)

Phonegap Build:找不到任何与 com.google.android.gms:play-services-gcm:12+ 匹配的版本

Proguarding Google Play Services 7.+ 导致 com.google.android.gms.internal.zzig:找不到引用的方法 'boolean isAtt

找不到 play-services-basement.aar