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

(Android)java。lang.NoClassDefFoundError:com.google.Androidgms。内部的zzno

夏经武
2023-03-14

我一次又一次地修复了,但我遇到的最后一个错误是:

java.lang.NoClassDefFoundError: com.google.android.gms.internal.zzno

我的身材。格雷德尔如下:

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.3.0'
    classpath 'com.google.gms:google-services:1.5.0-beta2'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
    repositories {
        jcenter()
    }
}

subprojects {
    repositories {
        mavenCentral()
        maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
    }
}

另一个build.gradle如下:

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

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

dexOptions {
    javaMaxHeapSize "4g"
}

defaultConfig {
    applicationId "com.example.min.photozzle"
    minSdkVersion 17
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:multidex:1.0.1'

    compile group: 'com.kakao.sdk', name: 'kakaolink', version: '1.1.0'
    compile group: 'com.kakao.sdk', name: 'kakaostory', version: '1.1.0'// 카카오스토리 sdk를 사용하기 위해 필요.
    compile group: 'com.kakao.sdk', name: 'kakaotalk', version: '1.1.0'    // 카카오톡 sdk를 사용하기 위해 필요.
    compile group: 'com.kakao.sdk', name: 'push', version: '1.1.0'    // push sdk를 사용하기 위해 필요.

    compile 'com.squareup.retrofit:retrofit:1.9.0'
    //compile 'com.google.android.gms:play-services-gcm:8.3.0'
    compile "com.google.android.gms:play-services:8.3.0"
    compile 'org.apache.directory.studio:org.apache.commons.io:2.4'

}

最后,我的舱单如下:

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

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<permission
    android:name="com.example.min.photozzle.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.example.min.photozzle.permission.C2D_MESSAGE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <activity android:name=".StoryGame" />
    <activity android:name=".StoryMode" />
    <activity android:name=".CustomMode" />
    <activity android:name=".Title" />
    <activity android:name=".Splash" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

    <receiver
        android:name="com.google.android.gms.gcm.GcmReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>

            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />

            <!-- Receives the registration id. -->
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

            <category android:name="com.example.min.photozzle" />

        </intent-filter>
    </receiver>

    <service
        android:name=".GCM.RegistrationIntentService"
        android:exported="false" >
    </service>

    <service
        android:name=".GCM.MyInstanceIDListenerService"
        android:exported="false" >
        <intent-filter>
            <action android:name="com.google.android.gms.iid.InstanceID"/>
        </intent-filter>
    </service>

    <service
        android:name=".GCM.MyGcmListenerService"
        android:exported="false" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
    </service>


    <meta-data
        android:name="com.kakao.sdk.AppKey"
        android:value="@string/kakao_app_key" />
</application>

我们的错误日志如下:

12-08 20:16:32.306  19305-19305/? E/dalvikvm﹕ Could not find class 'com.google.android.gms.internal.zzqq$zzd', referenced from method com.google.android.gms.measurement.internal.zzt.zzBK
12-08 20:16:32.306  19305-19305/? E/dalvikvm﹕ Could not find class 'com.google.android.gms.internal.zzqq$zzd', referenced from method com.google.android.gms.measurement.internal.zzt.zzBK
12-08 20:16:32.311  19305-19305/? E/dalvikvm﹕ Could not find class 'com.google.android.gms.internal.zzqq$zzc', referenced from method com.google.android.gms.measurement.internal.zzt.zzBK
12-08 20:16:32.311  19305-19305/? E/dalvikvm﹕ Could not find class 'com.google.android.gms.internal.zzqq$zzd', referenced from method com.google.android.gms.measurement.internal.zzt.zza
12-08 20:16:32.381  19305-19305/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.min.photozzle, PID: 19305
    java.lang.NoClassDefFoundError: com.google.android.gms.internal.zzno
            at com.google.android.gms.measurement.internal.zzx.zzj(Unknown Source)
            at com.google.android.gms.measurement.internal.zzt.<init>(Unknown Source)
            at com.google.android.gms.measurement.internal.zzx.zzBQ(Unknown Source)
            at com.google.android.gms.measurement.internal.zzt.zzaU(Unknown Source)
            at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)
            at android.content.ContentProvider.attachInfo(ContentProvider.java:1591)
            at android.content.ContentProvider.attachInfo(ContentProvider.java:1562)
            at android.app.ActivityThread.installProvider(ActivityThread.java:5233)
            at android.app.ActivityThread.installContentProviders(ActivityThread.java:4828)
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4711)
            at android.app.ActivityThread.access$1600(ActivityThread.java:175)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5602)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
            at dalvik.system.NativeStart.main(Native Method)

我谷歌了一个小时,介绍了一下,但这对我来说不太好。我试图使用GCM为我的应用程序。

共有2个答案

洪子晋
2023-03-14
classpath 'com.google.gms:google-services:+'

试试这行在顶层gradle.build应该检索最新版本的谷歌服务包,也许这就是问题。

周良弼
2023-03-14

我遇到了同样的问题。并将以下文件中的内容添加到proguard项目中。txt有帮助。请试一试。

https://github.com/google/google-api-java-client-samples/blob/master/calendar-android-sample/proguard-google-api-client.txt

 类似资料:
  • 我在学习Java中读到关于内部班级的文章。我找到了这个密码 编译后,javap的动物$Brain输出为 这解释了内部类如何在内部类构造函数中获取对其封闭实例的引用。但是当我像这样将内部类定义为private时 然后编译后,javap'动物$Brain'给出输出为 那么为什么输出不同呢?为什么没有显示内部类构造函数?在后一种情况下,内部类也获得了封闭类实例的引用。

  • 局部内部类是指在一个方法中定义的内部类。示例代码如下: 局部内部类有如下特点: 1)局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。 2)局部内部类只在当前方法中有效。 3)局部内部类中不能定义 static 成员。 4)局部内部类中还可以包含内部类,但是这些内部类也不能使用访问控制修饰符(public、priv

  • 本节我们将介绍 Java 中的内部类。通过本节的学习,我们将了解到什么是内部类,内部类的分类和作用。在内部类的分类部分,我们将逐一学习各个类型的内部类如何定义,如何实例化以及各自的特点,要注意区分不同类型内部类的异同。有了这些基础知识之后,我们也会结合示例介绍为什么需要内部类。 1. 概念 在 Java 语言中,可以将一个类定义在另一个类里面或者一个方法里面,我们把这样的类称为内部类。 与之对应的

  • 问题内容: C#中可用的访问修饰符等效于Java中的方法吗? (我知道方法,没有任何范围的变量都可以访问,但我正在寻找与关键字等效的方法) 我们如何在Java中实现具有作用域的方法? 问题答案: Java中没有等效的程序集,因此也没有等效的访问修饰符使成员在程序集中可用。 您可以找到的最接近的是默认可访问性,该默认可访问性相似但基于包。 你可以得到的最接近的是(但同样基于包)。请注意,在Java中

  • 问题内容: 我有以下Java代码: 得出666和999。现在,我尝试在c#中设置类似的代码,但是似乎无法完成相同的工作。如果是这样,用c#编程时通常如何达到类似的效果? 问题答案: 您需要使内部类将外部类的实例作为构造函数参数。(这是Java编译器实现内部类的方式)

  • 我已经完成了Java8 Hashmap的实现,并带着以下疑问来到这里。请帮我澄清一下: 我在一篇文章中读到,具有相同哈希代码的节点将被添加到与链表相同的bucket中。它说,这个链表的新节点将被添加到head而不是tail中,以避免尾部遍历。但当我看到源代码时,新的节点被添加到尾部。对吗 我没有完全理解这个变量的最小树容量。是不是经过这么多的计算,整个地图会被转换成树(从数组到树)