web-dev-qa-db-ja.com

エラー:プログラムタイプは既に存在します:Android.Arch.lifecycle.LiveData

Android St​​udioで再生ボタンを押すと、アプリはコンパイルされますが、次のエラーが表示されます(編集済み)。

エラー:プログラムタイプは既に存在します:Android.Arch.lifecycle.LiveData

(フルログ)

.gradleフォルダーを削除して、Build > Clean ProjectおよびBuild > Rebuild Projectに移動しようとしました。ただし、機能しません。また、ソースコードを削除してから、gitから再度クローンを作成し、Android St​​udioにフォルダーをインポートしようとしました。ただし、それでもエラーが発生します。

これが私のアプリのapp/build.gradleです。

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.edricchan.studybuddy"
        minSdkVersion 24
        targetSdkVersion 27
        versionCode 8
        versionName "1.0.0-rc.503"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        resConfigs "en"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    implementation 'com.Android.support:support-v4:27.1.0'
    implementation 'com.Android.support:support-annotations:27.1.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    implementation 'com.Android.support:appcompat-v7:27.1.0'
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.Android.support:design:27.1.0'
    implementation 'com.Android.support:cardview-v7:27.1.0'
    testImplementation 'junit:junit:4.12'
    // Firebase stuff
    implementation 'com.google.firebase:firebase-storage:11.8.0'
    implementation 'com.google.firebase:firebase-firestore:11.8.0'
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    implementation 'com.google.Android.gms:play-services-auth:11.8.0'
    implementation 'com.firebaseui:firebase-ui-auth:3.1.0'
    implementation 'com.firebaseui:firebase-ui-firestore:3.1.0'
    implementation 'com.firebaseui:firebase-ui-storage:3.1.0'
    // Provide a way to update the app
    implementation 'com.github.javiersantos:AppUpdater:2.6.4'
    // Chrome Custom Tabs
    implementation 'com.Android.support:customtabs:27.1.0'
    // The app's intro screen
    implementation 'com.heinrichreimersoftware:material-intro:1.6.2'
    // Use for new Material Text field boxes recently introduced
    implementation 'com.github.HITGIF:TextFieldBoxes:1.3.7'
    // Report an issue to Github without having to open a new tab and so on...
    implementation 'com.heinrichreimersoftware:Android-issue-reporter:1.3.1'
}
apply plugin: 'com.google.gms.google-services'
25
Edric

どうやら、これは意図された動作です:

com.firebaseui:firebase-ui-firestore:3.1.0はAndroid.Arch.lifecycle:extensions:1.0.0-beta1に依存します。バージョン3.2.2に切り替えると、サポートライブラリ27.1.0が構築されているLifecycle 1.1ライブラリを使用して問題が修正されます。 - Issue Tracker

私にとっては、firebase-ui依存関係を削除すると、そもそもライブラリを使用していなかったため、問題が解決しました。

26
Edric

今日、サポートライブラリのバージョンを上げたときに、まったく同じ問題が発生しました。

all '27 .1.0 'を'27 .0.2'に置き換えてみてください


後で、他のライブラリもアップグレードすることでエラーを取り除くことができました。これが私の現在の動作状態です:ルートグラドル:

buildscript {
    ext.kotlin_version = '1.2.21'
    ext.support_version = '27.1.0'
    ext.anko_version = '0.10.4'
    ext.Android_plugin_version = '3.0.1'
    ext.google_services_version = '11.8.0'

    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-Android-extensions:$kotlin_version"

        classpath 'com.Android.tools.build:gradle:3.1.0-beta4'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.1.1'
    }
}

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

////////////////// app gradleライブラリ:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation('com.crashlytics.sdk.Android:crashlytics:2.9.1@aar') {
        transitive = true
    }

    // kotlin:
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation "org.jetbrains.anko:anko-common:$anko_version"
    implementation "org.jetbrains.anko:anko-commons:$anko_version"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.22.3'

    // support libraries:
    implementation "com.Android.support:recyclerview-v7:$support_version"
    implementation "com.Android.support:support-v4:$support_version"
    implementation "com.Android.support:design:$support_version"
    implementation "com.Android.support:appcompat-v7:$support_version"
    implementation "com.Android.support:cardview-v7:$support_version"
    implementation "com.Android.support:support-vector-drawable:$support_version"

    // misc:
    implementation 'com.github.d-max:spots-dialog:0.7@aar'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.Android.support.constraint:constraint-layout:1.1.0-beta5'
    implementation 'com.backendless:backendless:4.4.0'
    implementation 'io.nlopez.smartlocation:library:3.3.3'

    // Google services:
    implementation "com.google.firebase:firebase-core:$google_services_version"
    implementation "com.google.firebase:firebase-auth:$google_services_version"
    implementation 'com.firebaseui:firebase-ui-auth:3.2.2'

    implementation "com.google.Android.gms:play-services-location:$google_services_version"
    implementation "com.google.Android.gms:play-services-auth:$google_services_version"

    implementation('com.google.api-client:google-api-client:1.23.0') {
        exclude group: 'com.google.code.findbugs', module: 'jsr305'
    }
}

////////////////

また、graddle-wrapper.propertiesを次のようにアップグレードしました。

#Wed Dec 20 15:08:34 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.Zip
25
Hoornet

この投稿は、非常によく似たエラーの上位の検索結果です:「プログラムの種類は既に存在します:Android.Arch.lifecycle。ViewModelProvider $ Factory

私のプロジェクトでは、FirebaseではなくRoomとLiveDataを使用しています。次の変更によりエラーが削除されました。

から:

implementation 'Android.Arch.persistence.room:runtime:1.0.0'
annotationProcessor 'Android.Arch.persistence.room:compiler:1.0.0'
implementation 'Android.Arch.lifecycle:extensions:1.0.0'
annotationProcessor 'Android.Arch.lifecycle:compiler:1.0.0'

に:

implementation 'Android.Arch.persistence.room:runtime:1.1.1'
annotationProcessor 'Android.Arch.persistence.room:compiler:1.1.1'
implementation 'Android.Arch.lifecycle:extensions:1.1.1'
annotationProcessor 'Android.Arch.lifecycle:compiler:1.1.1'

---更新された回答---

私の以前の答えは、このエラーを解決することを目指していました。ただし、ベストプラクティスを使用して再度提示する価値があると思いました。

アプリレベルのbuild.gradleファイル:

// Room components
implementation "Android.Arch.persistence.room:runtime:$rootProject.roomVersion"
annotationProcessor "Android.Arch.persistence.room:compiler:$rootProject.roomVersion"
androidTestImplementation "Android.Arch.persistence.room:testing:$rootProject.roomVersion"

// Lifecycle components
implementation "Android.Arch.lifecycle:extensions:$rootProject.archLifecycleVersion"
annotationProcessor "Android.Arch.lifecycle:compiler:$rootProject.archLifecycleVersion"

プロジェクトレベルのbuild.gradleファイル:

ext {
   roomVersion = '1.1.1'
   archLifecycleVersion = '1.1.1'
}

参照:
https://codelabs.developers.google.com/codelabs/Android-room-with-a-view/#2

20
Elletlar

Firebase-UI 3.1.0はFirebase/Google Services 11.8.0と互換性がありません

https://github.com/firebase/FirebaseUI-Android#compatibility-with-firebase--google-play-services-libraries に従ってアップグレードまたはダウングレードする必要があります。

  • Firebase/Google Services 11.4.2を使用したFirebase-UI 3.1.0
  • Firebase/Google Services 11.8.0とFirebase-UI 3.1.3

この助けを願っています;)

3
lienmt

また、元の質問にエラーが投稿されました:

Error:Program type already present: Android.Arch.lifecycle.LiveData

どのライブラリが問題を引き起こしているかは明らかではありませんでした。上記の@lienmtからのヒントで、Firebaseに関連している可能性があることに気付きました。

私の場合、Firebaseを使用しており、firebase-uiライブラリ3.2.2も使用していました。

implementation 'com.firebaseui:firebase-ui-database:3.2.2'

私は他のすべてのFirebaseライブラリを15.0.0にアップグレードしましたが、firebase-uiライブラリは互換性がないことに気付き、ここで確認しました。

https://github.com/firebase/FirebaseUI-Android#compatibility-with-firebase--google-play-services-libraries

Firebase-uiのバージョンと、ペアリング用に修正されたFirebaseのバージョンを必ず一致させてください。

Firebase-uiバージョンを3.3.1にバンプすると、エラーが解決しました。

implementation 'com.firebaseui:firebase-ui-database:3.3.1'

参考のために、現在使用しているバージョンと、エラーなしでアプリを実行しています。

implementation 'com.google.Android.gms:play-services-wearable:15.0.0'
implementation 'com.google.Android.gms:play-services-auth:15.0.0'
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.Android.support:cardview-v7:27.1.1'
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-database:15.0.0'
implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.firebase:firebase-auth:15.0.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'
implementation 'com.firebaseui:firebase-ui-database:3.3.1'
2
Lucy

アプリのbuild.gradleファイルに次の依存関係を追加してください

implementation "Android.Arch.core:runtime:1.1.1"
implementation "Android.Arch.core:common:1.1.1"
1

@Edric:スレッド内の画像で再生できなかったので、ここであなたの質問に答えています。

私のために働いた変更:

ModuleProject level

PS:gradle-wrapper.propertiesのdistributionUrlも http://services.gradle.org/distributions/gradle-4.6-all.Zip にアップグレードしました

0
Hoornet

アップグレードする必要があります。私にとっては、App build.gradleファイルで以下をアップグレードする必要がありました。

implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.firebase:firebase-auth:16.2.0'
implementation 'com.firebaseui:firebase-ui-database:3.2.2'

次に、ファイルを同期します。実行すると、インストール失敗ポップアップボックスの新しい問題が表示されます。それらをキャンセルして、以下を実行してください。

1) Build -> Clean Project
2) Build -> Build Bundle(s) / APK(s) -> Build APK(s)
3) Run your project! Should work!

これに従ってください リンク 私がそれをどのように解決したかについて他の詳細が必要な場合は、これでうまくいくはずです!

0
Fletchy1995

Edricの言及のように、これは、一部のライブラリがAndroid.Arch.lifecycle:extensionsライブラリの古いバージョン、つまりAndroid.Arch.lifecycle:extensions:1.0.0をまだ使用しているために発生します。

これを処理する1つの方法は、アプリにそのライブラリの同じバージョンを使用するよう強制することです(できれば、最新のものを使用します)。

それを行うには2つの方法があります。

  1. 依存関係セクションの下で、Gradleで使用するライブラリバージョンを明示的に定義しました。

    implementation 'Android.Arch.lifecycle:extensions:1.1.1

または

  1. dependenciesセクションの下でも、ライブラリの解決を強制します。

    Android {
        configurations.all {
            resolutionStrategy.force 'Android.Arch.lifecycle:extensions:1.1.1'
        }
    }
    
0
Kharda

私の場合、targetSdkVersionおよびcompileSdkVersionを28に上げ、すべてのサポートライブラリのバージョン28を使用すると問題が修正されました。


Glideをアップグレードしたときにこれに遭遇しました。 CoordinatorLayoutの複製 に関するエラーが発生しました。 I 解決済みcom.Android.support:design:27.1.0を使用することにより、LiveData$LifecycleBoundObserverに関する別のエラーが発生しました。

数時間後、私はあきらめてtargetSdkVersioncompileSdkVersionをAPI 28にアップグレードし、

implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:design:28.0.0'
implementation 'com.Android.support:cardview-v7:28.0.0'

ヨロだから愚かな運によって、それは働いた。

0
Gene Dela Rosa