代码之家  ›  专栏  ›  技术社区  ›  Ali Sheikhpour

gradle设置:未找到com.google.android.gms.internal.zzbgl

  •  0
  • Ali Sheikhpour  · 技术社区  · 6 年前

    我读过类似的问答 here here 关于这个问题。所有的解决方案都是使用最新的插件。这个问题已经过时了,我需要使用最新版本的新配置。我已经检查了插件的兼容性,当我提出这个问题时,所有版本都是最新的,但是还没有成功:

    错误:无法访问的zzbgl类文件 未找到com.google.android.gms.internal.zzbgl

    Gradle项目:

    buildscript {
    
        repositories {
            google()
            mavenCentral()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.3'
            classpath 'com.google.gms:google-services:4.0.1'
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
            jcenter()
            maven {
                url "https://maven.google.com"
            }
        }
    }
    

    应用程序Gradle:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 28
        buildToolsVersion "28.0.1"
    
        defaultConfig {
            applicationId "com.example.app"
            minSdkVersion 14
            targetSdkVersion 28
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }
    
    dependencies {
        implementation 'com.google.firebase:firebase-core:16.0.1'
        implementation 'com.google.firebase:firebase-messaging:17.1.0'
        implementation 'com.google.android.gms:play-services:12.0.1'
    }
    apply plugin: 'com.google.gms.google-services'
    

    尝试导入以下内容时出错:

    import com.google.android.gms.common.ConnectionResult;
    import com.google.android.gms.common.api.GoogleApiClient;
    import com.google.android.gms.location.LocationListener;
    import com.google.android.gms.location.LocationRequest;
    import com.google.android.gms.location.LocationServices;
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Kruti Parekh    6 年前

    不要使用组合播放服务目标。它带来了许多库,使您的应用程序变得臃肿。相反,只指定应用程序使用的特定Google Play服务api。

    引用自 official docs ,不应使用组合播放服务库。相反,请尝试使用所需的特定库,并尝试将特定库更新为 15.0.1

        2
  •  0
  •   Martin Zeitler    6 年前

    您需要从Proguard混淆中排除这些类:

    #-dontnote com.google.android.gms.internal.**
    -keep,includedescriptorclasses class com.google.android.gms.** { *; }
    -keep,includedescriptorclasses class com.google.android.gms.internal.** { *; }
    -keep class com.google.android.gms.internal.** {com.google.android.gms.internal.** initialize(android.content.Context);}
    
        3
  •  0
  •   idris hyder    5 年前

    我们需要具体说明您在应用程序中使用的内容,例如,如果您使用的是位置服务,而不是像这样使用 “实现‘com.google.android.gms:play services:17.0.0’” 像这样使用它 “实现'com.google.android.gms:play services位置:17.0.0'” gradle文件(应用程序)