Android Studio- 이미 존재하는 프로그램 유형 : com.google.android.gms.internal.measurement.zzwp


89

어제 내 앱이 잘 작동했습니다.

오늘은 Android Studio를 다시 연 후 앱이 더 이상 컴파일되지 않는 이유를 모르겠습니다.

표시된 오류는

Program type already present: com.google.android.gms.internal.measurement.zzwp
Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzwp, sources=[Unknown source file], tool name=Optional.of(D8)}

무슨 일이 일어나고 있는지 정말 모르겠습니다. 모든 것을 검색했지만 아무런 효과가 없었습니다. 누군가 나를 도울 수 있다면 정말 감사하겠습니다. 문제를 해결하기 위해 모든 종속성과 라이브러리를 변경했지만 아무것도 작동하지 않았습니다.

다음은 build.gradle 프로젝트입니다.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath 'com.google.gms:google-services:3.2.1'


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

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

그리고 이것은 내 build.gradle 모듈입니다.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.doctordirectory"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    implementation fileTree(dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

    implementation ('com.facebook.android:audience-network-sdk:4.28.0',{
        exclude group: 'com.google.android.gms'
    })
    implementation 'com.facebook.android:facebook-login:4.32.0'
    implementation 'com.android.support:multidex:1.0.3'

    implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'

    implementation 'com.android.support:support-v4:27.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.google.firebase:firebase-core:15.0.0'
    implementation 'com.google.firebase:firebase-database:15.0.0'
    implementation 'com.google.firebase:firebase-crash:15.0.0'
    implementation 'com.google.firebase:firebase-auth:15.0.0'
    implementation 'com.google.firebase:firebase-storage:15.0.0'
    implementation 'com.firebaseui:firebase-ui-database:3.3.1'

    implementation 'com.google.android.gms:play-services-auth:15.0.0'
    implementation 'com.google.android.gms:play-services-plus:15.0.0'
    implementation 'com.google.android.gms:play-services-location:15.0.0'

    implementation 'com.android.support:cardview-v7:27.1.0'
    implementation 'com.android.support:recyclerview-v7:27.1.0'

    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

    implementation 'com.stepstone.apprating:app-rating:2.2.0'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.github.lguipeng:BubbleView:1.0.1'

    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

    implementation 'com.miguelcatalan:materialsearchview:1.4.0'

    implementation 'com.github.MdFarhanRaja:SearchableSpinner:1.9'

    implementation 'com.github.sillebille:dynamic-calendar:1.0.1'

    implementation 'com.google.api-client:google-api-client:1.22.0'
    implementation 'com.google.api-client:google-api-client-android:1.22.0'
    implementation 'com.google.apis:google-api-services-people:v1-rev4-1.22.0'
}

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


2
이것이 사람들이 종속성 자동 업데이트를 좋아하지 않는 이유
user253751

1
@immibis가 당신을 얻지 못했습니다. 특정 버전을 언급했지만 Firebase가 자동으로 업데이트된다는 뜻인가요?
rpattabi

답변:


95

firebase dependenciescom.google.firebase:firebase-core:15.0.0를 들어 여기에서 최신 목록 가져 오기같이을 최신 버전으로 업데이트 한 후이 문제가 해결 com.google.firebase:firebase-core:15.0.2 되었습니다.

아래 목록에서 변경된 기타 모든 사항

  dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support:customtabs:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

        implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

        implementation 'com.facebook.android:audience-network-sdk:4.28.0'
        implementation 'com.facebook.android:facebook-login:4.32.0'
        implementation 'com.android.support:multidex:1.0.3'

        implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'

        implementation 'com.android.support:support-v4:27.1.1'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

        implementation 'com.google.firebase:firebase-core:15.0.2'
        implementation 'com.google.firebase:firebase-database:15.0.0'
        implementation 'com.google.firebase:firebase-crash:15.0.2'
        implementation 'com.google.firebase:firebase-auth:15.0.0'
        implementation 'com.google.firebase:firebase-storage:15.0.2'
        implementation 'com.firebaseui:firebase-ui-database:3.3.1'

        implementation 'com.google.android.gms:play-services-auth:15.0.0'
        implementation 'com.google.android.gms:play-services-plus:15.0.0'
        implementation 'com.google.android.gms:play-services-location:15.0.0'

        implementation 'com.android.support:cardview-v7:27.1.1'
        implementation 'com.android.support:recyclerview-v7:27.1.1'

        implementation 'com.squareup.picasso:picasso:2.5.2'
        implementation 'com.squareup.retrofit2:retrofit:2.3.0'
        implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

        implementation 'com.stepstone.apprating:app-rating:2.2.0'
        implementation 'com.android.support:design:27.1.1'
        implementation 'com.github.lguipeng:BubbleView:1.0.1'

        implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

        implementation 'com.miguelcatalan:materialsearchview:1.4.0'

        implementation 'com.github.MdFarhanRaja:SearchableSpinner:1.9'

        implementation 'com.github.sillebille:dynamic-calendar:1.0.1'

        implementation 'com.google.api-client:google-api-client:1.22.0'
        implementation 'com.google.api-client:google-api-client-android:1.22.0'
        implementation 'com.google.apis:google-api-services-people:v1-rev4-1.22.0'
    }

2)에서 최고 수준의 build.gradle 파일 업데이트에 classpath 'com.google.gms:google-services:3.1.1classpath 'com.google.gms:google-services:3.2.1


5
이 솔루션이 작동합니다. Firebase는 이제 독립 버전 번호로 패키지를 배포하고 있으며 build.gradle의 모든 패키지가 최신 패키지인지 확인합니다.
Tri Nguyen

효과가있었습니다. 정말 감사합니다. 나는 무언가를 업데이트하려고했지만 firebase가 그것을 바꿀 것이라고는 상상하지 못했습니다. 감사합니다.
Caio Araújo

귀하의 답변이 수락
되었으므로

m 너무 다른 종류의 문제가 있습니다. "프로그램 유형이 이미 있습니다 : org.apache.http.io.HttpMessageParser Message {kind = ERROR, text = 프로그램 유형이 이미 있습니다 : org.apache.http.io.HttpMessageParser, sources = [알 수없는 소스 file], tool name = Optional.of (D8)}, "m 최신 버전의 firebase 및 최신 버전의 지원, 디자인 라이브러리를 사용하고 있으며 내 프로젝트의 build.gradle에는 클래스 경로 'com.android.tools.build:gradle:3.1이 있습니다. .2 'classpath'com.google.gms : google-services : 4.0.0 ', 여전히 문제 발생 ..
변경 불가능

1
나는 최고의 솔루션을 최신 버전으로 이러한 종속성을 업데이트하는 것입니다 시간에 걸쳐 본 적이 그 자신의 사이트가 아닌 Gradle을 파일에 나타나는 최근에 나타납니다
Razvan 보낸

21

이 오류도 있고이 문제에 대한 해결책이 있습니다.

1) Google Play 서비스 버전과 독립적으로 Firbase 버전 업데이트

implementation "com.google.firebase:firebase-messaging:15.0.2"

https://firebase.google.com/support/release-notes/android#latest_sdk_versions에서 최신 버전을 확인할 수 있습니다.

2) 최상위 build.gradle 파일에서 google-services를 3.1.1에서 3으로 업데이트하십시오. 2 .1

buildscript {
    dependencies {

        classpath 'com.google.gms:google-services:3.2.1'

    }
 }

12

난 그냥 변해

implementation 'com.google.firebase:firebase-crash:15.0.0'

...에

implementation 'com.google.firebase:firebase-crash:15.0.2'

효과가있다.


7

Firebase는 개발자를 신경 쓰지 않는 것처럼 버전 번호를 업데이트하는 이유입니다.

먼저 첫 번째 것들. 프로젝트 수준 Gradle에서 클래스 경로 업데이트

dependencies {

        classpath 'com.google.gms:google-services:3.2.1'

    }

다음으로, 분석, 동적 링크 등과 같이 사용하는 도구가 무엇이든간에. 적절한 버전이 지정된 종속성을 사용하십시오.

https://firebase.google.com/support/release-notes/android

제 경우에는 원격 구성을 통해 A / B 테스트를 사용하고 있었기 때문에 다음에서 업데이트해야합니다.

implementation 'com.google.firebase:firebase-config:15.0.0'

...에

implementation 'com.google.firebase:firebase-config:15.0.2'

이것은 결함없이 작동합니다. 또한 이러한 종류의 문제를 Firebase에 게시하여 사전 안내없이 또는 적절한 문서없이 이러한 종류의 변경을 수행하지 않도록하십시오.


2
"Firebase는 개발자를 신경 쓰지 않는 것처럼 버전 번호를 업데이트하는 이유입니다." 멋지게 말했다 👌
Lenin Raj Rajasekaran

6

Firebase 종속성을 업데이트하세요.

1. 프로젝트 레벨 build.gradle

최신 google.gms버전으로 업데이트하십시오 . 최신 릴리스를 추적합니다 . 답변 당시 최신은 4.1.0입니다.

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.1.0' // google-services plugin
    }
}

allprojects {
    // ...
    repositories {
        // ...
        google() // Google's Maven repository
    }
}

2. 앱 수준 build.gradle

사용하는 경우 종속성 아래에서 업데이트하십시오. 참고 중포 기지는 이제 모든 의존성에 대한 개별 버전이 있습니다.

최신 Firebase 라이브러리를 사용합니다 . 답변 당시 최신 버전은 다음과 같습니다.

Firebase Core                com.google.firebase:firebase-core:16.0.3
Ads                          com.google.firebase:firebase-ads:15.0.1
Analytics                    com.google.firebase:firebase-analytics:16.0.3
App Indexing                 com.google.firebase:firebase-appindexing:16.0.1
Authentication               com.google.firebase:firebase-auth:16.0.3
Cloud Firestore              com.google.firebase:firebase-firestore:17.1.0
Cloud Functions              com.google.firebase:firebase-functions:16.1.0
Cloud Messaging              com.google.firebase:firebase-messaging:17.3.2
Cloud Storage   c            om.google.firebase:firebase-storage:16.0.2
Crash Reporting              com.google.firebase:firebase-crash:16.2.0
Crashlytics                  com.crashlytics.sdk.android:crashlytics:2.9.5
Dynamic Links                com.google.firebase:firebase-dynamic-links:16.1.1
Invites                      com.google.firebase:firebase-invites:16.0.3
In-App Messaging             com.google.firebase:firebase-inappmessaging:17.0.1
In-App Messaging Display     com.google.firebase:firebase-inappmessaging-display:17.0.1
ML Kit: Model Interpreter    com.google.firebase:firebase-ml-model-interpreter:16.2.0
ML Kit: Vision               com.google.firebase:firebase-ml-vision:17.0.0
ML Kit: Image Labeling       com.google.firebase:firebase-ml-vision-image-label-model:15.0.0
Performance Monitoring       com.google.firebase:firebase-perf:16.1.0
Realtime Database            com.google.firebase:firebase-database:16.0.2
Remote Config                com.google.firebase:firebase-config:16.0.0

3. 구글 플러그인을 잊지 마세요

또한 apply plugin: 'com.google.gms.google-services'앱 수준 build.gradle 하단에 추가하는 것을 잊지 마십시오.

동기화 및 빌드 ...


1
최신 버전 확인에 대한 유용한 팁. 나는 bintray.com/android/android-tools/… 를 사용 하여 최신 버전의 google-services. mvn 페이지는 CentralSprings Plugins섹션 과 매우 혼동 됩니다.
Sébastien

5

"com.google.android.gms"가 포함 된 종속성을 제거한 다음 프로젝트를 다시 빌드하십시오. n try coz를 눌러야합니다. 거기에 두 번 사용하는 종속성이 있습니다.

예를 들어 com.android.support:designtwise 추가



4

이것은 firebase analitycs last vesion을 추가 한 후에 저에게 일어났습니다.

implementation "com.google.firebase:firebase-core:16.0.5"

버전을 16.0.4로 변경하는 데 도움이

implementation "com.google.firebase:firebase-core:16.0.4"

2

나에게 문제는 안드로이드 빌드 도구로 인한 것 같았습니다.

수정하기 위해 mu 프로젝트 최상위 build.gradle파일 에서이를 다운 그레이드해야했습니다.

-        classpath 'com.android.tools.build:gradle:3.1.0'
+        classpath 'com.android.tools.build:gradle:3.0.1'

나는 이것이 최선의 해결책이 아니라는 것을 알고 있지만 지금까지 나를 위해 일한 유일한 방법입니다.

편집 : 또는 android.enableD8=false프로젝트 gradle.properties파일에 추가


2

다음 종속성을 주석 처리하면 문제가 해결되었습니다.

implementation 'com.google.android.gms:play-services-analytics::16.0.7'

2
allprojects {
    repositories {
    //start here
    configurations.all {
 resolutionStrategy.eachDependency { DependencyResolveDetails details ->
   def requested = details.requested
       if (requested.group == 'com.google.android.gms') {
          details.useVersion '12.0.1'
       }
       if (requested.group == 'com.google.firebase') {
          details.useVersion '12.0.1'
         }
       }
     }
    //end
     jcenter()
       maven {
         url "https://maven.google.com"
       }
     }
 }

1

좋아요, 잠시만 요. 모든 Firebase 라이브러리에 해당 버전이 필요한 것은 아니라는 것을 확인했습니다. 이제 버전이 잘못 정렬되었습니다. 사실 공식 페이지에서 일부는 15.0.2 대신 15.1.0에 있다고보고합니다.

유용 할 경우 여기에서 직접 볼 수 있습니다.

https://firebase.google.com/docs/android/setup



0

컴파일을 차단하는 다른 문제에 직면하면 Google 서비스 종속성을 3.2.0으로 업그레이드 해보세요 . 나에게는 적어도 3.2.1과 3.3.0이 문제를 일으켰고 3.2.0이 작동했습니다.


하지만 crashlytics를 빌드하려면 3.2.1이 필요하다고 생각합니까?
j2emanue

@ j2emanue 개인적으로 Crashlytics를 사용하지 않기 때문에 확인할 수 없지만 3.2.1과 3.3.0 모두 다른 종속성이 컴파일되는 것을 방지했습니다.
najm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.