web-dev-qa-db-ja.com

Dexをマージできません

私はAndroid Studio Betaを持っています。古いモジュールをコンパイルして新しいプロジェクトを作成しましたが、アプリを起動しようとしたときにメッセージが表示されませんでした。

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.Android.builder.dexing.DexArchiveMergerException:dexをマージできません

しかし、私はこのエラーを解決する方法がわかりません。私はこれを数時間グーグルしましたが成功しませんでした。 

私のプロジェクトの取り組み:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.0-beta6'
        classpath "io.realm:realm-gradle-plugin:3.7.1"
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

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

私のアプリはgradle:

    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "parad0x.sk.onlyforyou"
        minSdkVersion 21
        targetSdkVersion 26
        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'
        }
        debug {
        }
    }
    compileOptions {
        targetCompatibility 1.7
        sourceCompatibility 1.7
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    lintOptions {
        checkReleaseBuilds false
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    //noinspection GradleCompatible
    compile 'com.Android.support:appcompat-v7:26.0.0-alpha1'
    compile project(path: ':loginregisterview')


}

そして私のモジュールは格闘します: 

    apply plugin: 'com.Android.library'
apply plugin: 'realm-Android'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    compile 'com.Android.support:appcompat-v7:26.0.2'
    compile 'com.Android.support:support-v4:26.1.0'
    compile 'com.github.bumptech.glide:glide:4.0.0'
    testCompile 'junit:junit:4.12'
    compile project(path: ':parser')

}

私の2番目のモジュール:

     apply plugin: 'com.Android.library'
apply plugin: 'realm-Android'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"

    }

    realm {
        syncEnabled = true
    }
    useLibrary 'org.Apache.http.legacy'

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'junit:junit:4.12'
    //  compile 'com.Android.support:appcompat-v7:23.1.0'

    //   compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
    compile 'com.google.code.gson:gson:2.6.2'
}

____________ファインディング_________

私が2番目のモジュール(パーサー)をインポートしなかったとき、アプリはdexでクラッシュしませんでしたが、モジュールがインポートされなかったときアプリは動作しませんでした。 :D:D 

262
Parad0X

com.google.Android.gms:play-services:11.2.2からcom.google.Android.gms:play-services:11.4.0にアップデートしたときにも同じ問題がありました。これで解決しました:

  1. クリーン
  2. 再構築する
270

私は上記のすべてを試してみました、そして、それらのどれも助けになりません。

app/build.gradle:

Android {
    defaultConfig {
       multiDexEnabled true
    }
}
248
itzhar

警告に注意してください。

時々あなたは 警告エラー を削除するだけで自動的に消えます。下記の特別な場合を参照してください。


私は私のモジュールレベルのbuild.gradleファイルにこれら二つの依存関係がありました:

implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'

and Studio 警告しましたdexマージ問題)に加えて:

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用しなければなりません(バージョンを混在させるとランタイムがクラッシュする可能性があります)。 27.0.221.0.3というバージョンが見つかりました。例としてはcom.Android.support:animated-vector-drawable:27.0.2com.Android.support:support-v4:21.0.3があります

だから私は明示的にcom.Android.support:support-v4のバージョンを決めました (詳細は ここ を参照してください) そして両方の問題 (警告とdexマージに関連するもの) 解決

implementation 'com.Android.support:support-v4:27.0.2'  // Added this line (according to above warning message)
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'

他の同様の状況については、以下のコメントを参照してください。

54
Mir-Ismaili

私の場合は、残念なことに、MichelもSuragchの解決策も私には役立たなかった。

そこで私は次のようにしてこの問題を解決しました:

gradle:3.0 the compile 設定は現在推奨されておらず、 implementation または api に置き換える必要があります。詳しくは ここを読む 公式ドキュメントを読むことができます Gradle Build Tool

コンパイル設定はまだ存在しますが、それはapiと実装設定が提供するという保証を提供しないので使用されるべきではありません。

implementation または api よりも compile を使用することをお勧めします。 

コンパイル 実装 debugCompile debugImplementation testCompile testImplementation に置き換えてください。 androidtestcompile with androidTestImplementation

例:これの代わりに 

compile 'com.Android.support:appcompat-v7:26.0.2'
compile 'com.Android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'

こんな感じ 

implementation 'com.Android.support:appcompat-v7:26.0.2'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'

その後 

  • プロジェクト内の.gradleフォルダを削除します(.gradleを表示するには、左上のナビゲータで[Project]ビューに切り替える必要があります)。
  • すべての build folders とグラドルキャッシュを削除します。 
  • ビルドメニューから、 プロジェクトの削除 ボタンを押します。
  • タスクが完了したら、[ビルド]メニューから プロジェクトの再構築 ボタンを押します。

それが役立つことを願っています!

37
King of Masses
  1. .gradleディレクトリを削除します。

  2. アプリをもう一度実行してください。

ノート

  • .gradleディレクトリは、プロジェクトのルートフォルダにあります。 (隠しファイルを先に表示する必要があるかもしれません。) 
  • 私はAndroid 3.0を使って依存関係モジュールを更新するたびにこれをしなければなりません。 (Android Studio 3の最近のリリースでこの問題は解決したようです。)
25
Suragch

Suragchが示唆しているように.gradleを削除するだけでは不十分です。さらに、私はBuild > Clean Projectを実行しなければなりませんでした。

.gradleを見るためには、左上のナビゲータで "Project"ビューに切り替える必要があります。

Switch to project view

22
Michel Jung

私は他のすべての解決策を試しましたが、だれも私のために働きませんでした。最後に、私はbuild.gradleを編集することによって同じ依存バージョンを使うことによってそれを解決しました。この問題は、依存関係の異なるバージョンのサポートまたはGoogleライブラリを使用するgradleにライブラリを追加したときに発生すると思います。 

ビルド許可ファイルに次のコードを追加します。それからcleanrebuildプロジェクト。

ps:それは私にとって古い解決策だったので、以下のライブラリを更新したバージョンのを使うべきです。

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.Android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '26.1.0'
        }
    } else if (requested.group == "com.google.Android.gms") {
        details.useVersion '11.8.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '11.8.0'
          }
      }
}
20
Ali Gürelli

私の場合、問題はルームライブラリのせいでした。

compile 'Android.Arch.persistence.room:runtime:1.0.0-alpha1'

それをに変更します。

compile 'Android.Arch.persistence.room:runtime:1.0.0'

働いた。

13
Shashi

こんにちは私は同じ問題がほぼすべてを試してみました。だから、ついに私は6時間の長い闘争の後に一行ずつすべてをデバッグすることで解決した。

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

Google-services 3.0 playServiceVersion:11.6.0以下のStudio 3.0でFirebaseをサポートしません。 

implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"

解決策:  

Googleサービス に変更があります 

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

そしてそれはfirebaseサービスをサポートします。 

うまくいけば、誰かが彼/彼女の時間を節約できます。

11
Saveen Dhiman

上記の解決策に加えて

複数の場所(または同じファイル内)で異なるバージョンを指す重複する依存関係がないことを確認してください。

10

if(1.作業をきれいにして再構築しよう)それではよい

それ以外の場合(2.グラドルワークを削除してみてください)それから良い 

else-> 3. grade.propertiesに追加してみてください

Android.enableD8 = false

else-> 4. build.gradleにmultiDexEnabled trueを追加します 

Android {
    compileSdkVersion 26
    defaultConfig {
      ...
        minSdkVersion 15
        targetSdkVersion 26
        multiDexEnabled true
     ...
    }
}

そして依存関係を追加する

dependencies {
    compile 'com.Android.support:multidex:1.0.1'}

最初のものはuなどでうまくいくかもしれませんが、それは本当にあなたの問題の性質に依存します。

このライブラリを追加したらエラーになりました

implementation 'com.jjoe64:graphview:4.2.2'

そして後で私はそれをチェックしなければならないことを発見し、そして私はサポートライブラリの同じバージョンを追加しなければならない。だから私は別のバージョンを試す必要があります

compile 'com.jjoe64:graphview:4.2.1'

そしてそれは問題を解決します。だからそれに注意を払う。

10
DINA TAKLIT
  1. 有効にする

    defaultConfig { multiDexEnabled true }

  2. ステップ1がうまくいかない場合

    プロジェクト構造に行き、異なるバージョンを使用している外部ライブラリを見つけてください。それをダブルクリックしてそのjarファイルを削除します。プロジェクトを閉じてもう一度開くと、Android Studioによってプロジェクトが再構築されます。問題は解決しました。

9
Abhisek Mallick

可能性の1つは、同じライブラリが存在するが、依存関係に異なるバージョンが存在することです

私はgradleファイルの次の行でこの問題を抱えていました:

  • compile fileTree(include: ['*.jar'], dir: 'libs')
  • compile 'com.google.code.gson:gson:2.8.2'

Gsonライブラリはlibsディレクトリにありましたが、以前のバージョンがありました。 gson-2.3.1.jarをlibsディレクトリから削除しましたが、すべて正常に戻りました。

5
Philippe Grain

[解決できないマージデックスが解決しました] スタックオーバーフローの時間が経過した後 "マージできないエラーが発生しました"を解決しました

  1. あなたのgradleのすべてのcom.Android.support行をv27.1.0に更新してください。

原因 - Androidはサポートライブラリをv27.1.0に更新しました。したがって、あなたは26.1.0から27.1.0にあなたのgradleファイルのすべてのAndroidサポート行を変更しなければなりません

  1. リポジトリセクションに " https://maven.google.com "エンドポイントのmavenセクションが含まれていることを確認してください。例えば:

    allprojects {リポジトリ{ jcenter() maven { url " https://maven.google.com " } } }

原因: - AndroidはSDKマネージャでサポートライブラリを更新できず、今ではmaven.google.comを使用して更新しているため、27.1.0サポートライブラリを使用するにはこれを含める必要があります。

変更後のバージョン: 1.プロジェクトのクリーンアップ 2.プロジェクトを再構築

5
Taha Ali

Kotlinのサポートを含めた後にこのエラーが発生し、他の解決策がうまくいかない場合は、アプリモジュールのbuild.gradleのkotlin依存関係を次のように変更してみてください。

implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
    exclude group: 'org.jetbrains', module: 'annotations'
}

これは私のためにAndroid Studio 3.0 Beta 6で動作します。さらなる説明は this answerを見てください。

5
aksh1618

グーグルプレイサービスのインストール(最新バージョン)+ 

Android {
    defaultConfig {
        multiDexEnabled true
        }
}

build.gradleで私のための問題を解決し、プロジェクトをきれいにして再構築することを確認してください!

4
Harmandeep Gill

以下にコマンドを追加してください。

Android {
...

    dexOptions {

        jumboMode true
        javaMaxHeapSize "4g"

    }
}
4
zyc zyc

Android Studio 3.0安定版ビルドの場合 以下の手順でうまくいった:

  1. SdkManagerに移動 - >アンドロイドSdk - > SdkツールとアップデートGoogleは46に最新バージョンにサービスをプレイ。
  2. プロジェクトをクリーンにしてプロジェクトを再構築します。
4
Pulkeet Katiyar

私はChris-Jrに同意します。 AdMob広告を埋め込むためにFirebaseを使用している場合(またはそうでない場合でも)、依存関係として追加しなくても、play-services-analyticsにはplay-services-adsが含まれます。アナリティクスには11.4.0ではなくバージョン10.0.1の広告が含まれているため、グーグルは明らかに11.4.0のロールアウトを誤って行っています(図の中のマウスオーバーのヒントでこれがわかります)。

私は手動で コンパイル 'com.google.Android.gms:play-services-ads:11.4.0' を上の一番上に追加しましたが、インスタントランを無効にした後でのみ http://stackoverflow.com/a/35169716/530047

そのため、10.0.1にリグレッションするか、広告を追加してインスタントランを無効にします。

3
Jonathan

私も問題を抱えていました。

compileSdkVersiontargetSdkVersionを最新版に変更することで解決できました。 

2
akhil as

私は同じ問題に遭遇し、私の事件の本当の理由を見つけました。以前も、私は以前の答えをすべてもう一度試しましたが、それでも問題は解決しませんでした。次のようにアプリプロジェクトとbuild.gradle:

モジュールのbuild.gradleを着用してください。

implementation project(':common')
implementation files('libs/farmer-motion-1.0.jar')

共通モジュールのbuild.gradle:

implementation files('libs/farmer-motion-1.0.jar')

Gradle 3.xにアップグレードする前は、 'implementation'はすべて 'compile'です。

私は、スタックトレースを取得するために--stacktraceオプションを付けてgradlewを実行します。この問題が発生したときには、コンソールウィンドウでこれをクリックするだけです。そして、jarパッケージへの依存関係が繰り返されることがわかりました。

Caused by: com.Android.dex.DexException: Multiple dex files define Lcom/farmer/motion/common/data/pojo/SportSummary$2;

Farmer-motion-1.0.jarパッケージのSportSummaryクラスで、 公式移行ガイドを読んだ後 、私のbuild.gradleを以下のように変更しました。

モジュールのbuild.gradleを着用してください。

implementation project(':common')
// delete dependency implementation files('libs/farmer-motion-1.0.jar')

共通モジュール的なbuild.gradle:

api files('libs/farmer-motion-1.0.jar') // change implementation to api

今摩耗モジュールは共通モジュールによるfarmer-motion-1.0.jarエクスポートの依存関係を持つことになります。 実行時に がjarパッケージに依存しない の場合、 ' implementation ' jarパッケージの依存関係 を 'compileOnly' に変更することもできます。

2
FarmerLi

私の場合は、プロジェクトの libs フォルダに追加した gson-2.8.1.jar です。しかし、参照はすでにSDKによって行われていました。したがって、libsフォルダに gson-2.8.1.jar を追加する必要はありません。

I gson-2.8.1.jar projectをコンパイルすると、この厄介なエラーなしにコンパイルされます。

それで libs folderと dependencies を修正してみてください。

私たちのプロジェクトでは、誤って同じjarファイルを異なる名前で2回追加しました。それらの1つを削除することで問題は解決しました。 

2
Ifta

私は自分のプロジェクトでこの問題の原因を突き止めました。 build.gradle に1つの依存関係を2回追加しました。依存関係を追加して1回、jar依存関係を追加してもう1回

'org.achartengine:achartengine:1.2.0'をコンパイルしてください。
...
実装ファイル( '../ achartengine-1.2.0.jar')

解決した最初の行の問題を削除した後。

1
Mansour

一番上の答えがうまくいかなかった場合、あなたの問題はあなたが同じライブラリに依存する複数の依存関係を持っているということかもしれません。 

これがデバッグのコツです。このサンプルコードでは、com.google.code.findbugs:jsr305:3.0.0が問題のあるライブラリです。

あなたがあなたの解決策をチェックするために修正する度にいつもきれいにして再構築しなさい!  

  1. 詳細については、--stacktraceフラグをオンにして構築してください。それはクラス、Googleがそのライブラリを見つけるためにそのクラスについて文句を言うでしょう。 これは、常に--stacktraceフラグを付けてgradleを実行するようにAndroidスタジオを設定する方法です

  2. ビルド後、Android StudioのGradleコンソールView > Tool Windows > Gradle Consoleを一目で確認できます。

  3. ./gradlew -q app:dependenciesを実行して、繰り返しの依存関係を確認します。 build.gradleを変更するたびにこれを再実行できます。

  4. Build.gradleでは、

    Android {
            ...
            configurations.all {
                resolutionStrategy {
                    // Force a particular version of the library 
                    // across all dependencies that have that dependency
                    force 'com.google.code.findbugs:jsr305:3.0.0'
                }
            }
    }
    
  5. Build.gradleでは、

    dependencies {
        ...
        implementation('com.google.auth:google-auth-library-oauth2-http:0.6.0') {
            // Exclude the library for this particular import
            exclude group: 'com.google.code.findbugs'
        }
    }
    
  6. Build.gradleでは、

    Android {
        ...
        configurations.all {
            resolutionStrategy {
                // Completely exclude the library. Works for transitive
                // dependencies.
                exclude group: 'com.google.code.findbugs'
            }
        }
    }
    
  7. 依存関係の一部がjarファイルにある場合は、jarファイルを開き、競合するクラス名がないかどうかを確認してください。もしそうであれば、おそらく新しいクラス名でjarを再構築するか シェーディング を調べなければならないでしょう。 

もう少し背景を読んで:

1
J Wang

これはあなたの問題ではないかもしれませんが、プロジェクトの依存関係{}セクションに2つの同一の(ただし名前が異なる)ライブラリを誤って含めたときにこのエラーが発生しました。

1
DontPanic

私の場合、ライブラリでこの問題が発生します。ライブラリはプロジェクトに正常に追加されましたが、アプリを実行するとこのエラーが表示されます。だからもしこれがあなたにも起こるなら、あなたはgithubに行って問題をチェックするか新しい問題を提起することができます。あなたがライブラリに関する解決策を見つけられない場合は私はあなたがそれを交換することをお勧めします。

1
Suraj Vaishnav

私にとっては、 app\build.gradleにあるfirebaseメッセージングを更新していました:

compile 'com.google.firebase:firebase-messaging:10.0.1'

compile 'com.google.firebase:firebase-messaging:11.4.2'
1
milamber

私は同じ問題を抱えていました。私はInstant Runを有効にしました(それは無効にされました)それから私のプロジェクトはうまくいきました。あなたはそれを見つけることができます

File->Settings-> Build,Execution,Deployment->Instant Run
1
Android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 26
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.Android.support:multidex:1.0.1'
}

考えられる根本的な原因の1つ:Android Studioのマルチモジュールプロジェクトのインポートで正しく処理されなかった一時的な依存関係の重複リストを確認して削除してください。私にとっては、修正は文字通りこれです:

--- a/project/module/build.gradle
+++ b/project/module/build.gradle
@@ -21,5 +21,4 @@ Android {
 dependencies {
     implementation project(':upstream-dependency-project')
     implementation 'com.Android.support:support-v4:18.0.0'
-    implementation files('libs/slf4j-Android-1.6.1-RC1.jar')
 }
1
vt.

このようにしてみてください、それは私のために働きます。

App/build.gradleで、

dependencies {
    ....

    compile project(':grow-notification')

    /** Firebase Start **/
    compile 'com.google.firebase:firebase-messaging:11.4.0'
    compile 'com.firebase:firebase-jobdispatcher:0.6.0'
    /** Firebase End **/
}

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

モジュールgrow-notification/build.gradleにいる間:

dependencies {
    ....

    /** Firebase Start **/
    provided 'com.google.firebase:firebase-messaging:11.4.0'
    provided 'com.firebase:firebase-jobdispatcher:0.6.0'
    /** Firebase End **/
}
0
ibrothergang

すべての同じソースライブラリに同じバージョン番号があることを確認してください。私の場合、私は異なるグーグルAPIバージョンを使用していました。私は 11.6.0 をすべてのGoogleライブラリに使用していましたが、 10.4.0 はGoogleプレイスAPIに使用していました。 GoogleプレイスAPIを 11.6.0 に更新した後、問題が修正されました。 

私のマルチデックスもプロジェクトで有効になっていることに注意してください。

0
asish

私は3時間以上すべての回答を読んでテストしています。最後に問題は図書館の "joda time"でした。

読んで この答え 私は問題を見つけた、 フルスタックトレースでgradleコンソールを実行してください そしてエラーの詳細を読んでください。

0
Pablo Cegarra

Build.gradleに以下を追加するだけです。

defaultConfig {multiDexEnabled true}

0
abhi.nalwade

あなたのプラグインでFirebsaeを使っているのであれば、この問題はplay services versionの問題によるものです。

cordova.system.library.4=com.google.gms:google-services:3.3.0
    cordova.system.library.5=com.google.Android.gms:play-services-tagmanager:+
    cordova.system.library.6=com.google.firebase:firebase-core:16.0.1
    cordova.system.library.7=com.google.firebase:firebase-messaging:17.1.0
    cordova.system.library.8=com.google.firebase:firebase-crash:16.0.1
    cordova.system.library.9=com.google.firebase:firebase-config:16.0.0
    cordova.system.library.10=com.google.firebase:firebase-perf:16.0.0 

Project.propertiesをこのように変更すると、この問題は解決します 参照

0
Ramesh Krishnan

依存関係が重複している可能性があります(おそらく別の依存関係にネストされている可能性があります)。コマンドラインで「gradlew app:dependencies」を使用して、すべての依存関係を確認してください。

重複を削除した後、問題は私のために解決されました。

0
Jacob Lewis
    Android {
        defaultConfig {
            multiDexEnabled true
            }
    }

   compile 'com.google.Android.gms:play-services:11.0.4'

   compile 'com.google.Android.gms:play-services-location:11.0.4'

クリーンにビルドして再ビルドをビルドする

0
Keshav Gera

これはまだここで共有されていないので、誰かの助けになることを願っています。

これに続いて link は同じ問題を解決しました。

まず、multiDexEnabledをtrueに設定する必要がなかったことに注目します。

まず、pubspec.yamlの依存関係を

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: ^0.8.2 

iDEのターミナルでflutter packages getを実行しました。

また、最小のターゲットSDKバージョンを変更する必要がありました。

  1. Android/app/build.gradleを開き、minSdkVersion 16という行を見つけます。
  2. その行をminSdkVersion 21に変更します。
  3. ファイルを保存します。

これだけで問題が解決する場合があります。ただし、依存関係のバージョンの一部が一致しなかったため、次のことも行わなければなりませんでした。

Android/app/build.gradleを開いてから、ファイルの最後の行として次の行を追加する必要がありました:apply plugin: 'com.google.gms.google-services'

次に、Android/build.gradleを開いてから、buildscriptタグ内に新しい依存関係を追加する必要がありました。

buildscript {
   repositories {
       // ...
   }

   dependencies {
       // ...
       classpath 'com.google.gms:google-services:3.2.1'   // new
   }
}

この後、私のアプリはAndroidエミュレーターで最終的に実行されました。

link は、行き詰まった場合のより完全なチュートリアルです。

また、注意するために、multiDexEnabledをtrueに設定する必要はありませんでした。

0
Casey Schneider

これをあなたの app/build.gradle に追加してください。それが動作します

実装 'com.Android.support:design:27.1.0'

0
kaushal

依存関係のバージョンが同じでない場合はそれを確認し、それを同じにすると問題が解決します

compile 'com.Android.support:appcompat-v7:27.0.2'
compile 'com.Android.support:recyclerview-v7:27.0.2'
compile 'com.Android.support:cardview-v7:27.0.2'
0
Nikul Vadher

いくつかの依存関係をアップグレードした後、私は解決策を見つけました。最新のプレイサービス版を使うべきです。 build.gradle [app] 依存関係にあります。

compile 'com.Android.support:multidex:1.0.2'
compile 'com.google.Android.gms:play-services:11.8.0'
compile 'com.google.firebase:firebase-core:11.8.0'

build.gradle [project] では、最新のGoogleプラグインを使用する必要があります。

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

理解を深めるために、以下のコードも共有しています。

    Android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.***.user"
        minSdkVersion 17
        targetSdkVersion 26
        versionCode 26
        versionName "1.0.20"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true

        aaptOptions {
            cruncherEnabled = false
        }

    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
0
Md Shihab Uddin

残念ながら、MichelもSuragchも解決策は私には役立たなかった。 

11.4.0ではアプリのグラドルファイルに依存性の不整合の警告が表示されていたため、最終的にやらなければならなかったことは、単にcom.google.firebase:firebase-databaseをバージョン10.0.1にロールバックすることでした。

0
Chris - Jr

私にとって問題は、私がプロジェクトに含めた2つのjarファイルに同じクラスが含まれていたことです。

これらのjarファイルの1つでは、クラスを除外する必要がありました。

jar {
    exclude('com/files/to/exclude/**')
}
0

簡単な解決策は私のために働きました:

  1. 同じ依存関係の2つのバージョンをコンパイル/実装しないでください。 
  2. Gradleから直接コンパイルしている場合は、プロジェクトの libs フォルダーにある.jarファイルを使用しないでください。上記の点がここでも適用されます。

それから Clean そして Rebuild project。

0
global_warming

私の場合、エラーは依存関係のインポート中です。

実装 'com.firebaseui:firebase-ui:2.3.0'

私はそれを使用していませんでした、私はそれをきれいにしたプロジェクトを削除して再適用したときにそれが働き始めました。もちろん、私は上記の人たちがしたこともしました。

  • App.grade全体を通して実装への準拠を変更する
  • App.grade全体を通してtestcomplieをtestimplementationに変更
  • Multidexenabledがtrueであることを確認してください
  • CompileSdkを26に更新
  • 削除された.gradleファイル(プロジェクト内にある)、プロジェクトをクリーンアップして再コンパイルする

そして最後に...

  • 削除 実装 'com.firebaseui:firebase-ui:2.3.0'(私のコードでは使用されていなかったので)
0
Jmz

BuildToolsVersionを他のバージョンに変更して同期し、元に戻してもう一度同期してください。それはまた働くでしょう。

0
Rodrigo Salomao

私は同じ問題を抱えていました。私はそれを解決し、次にAndroid Studio 3.0メニューからプロジェクトをビルドしてビルドしました。

  1. ビルド - >クリーンプロジェクト
  2. プロジェクトをビルド - >リビルド
0
user8961793

私の場合は、build.gradleファイルに同じライブラリを2回実装していました。重複したエントリを削除するとうまくいきました。そして、プロジェクトをきれいにして再構築する必要すらありませんでした。

0
Mithun Adhikari

私のプロジェクトでは、私は2つ以上のモジュールとsdksを持っています。

  • defaultConfigにmultiDexEnabled trueを追加します。 
  • プロジェクトのクリーンと再構築
  • コンパイルを実装に置き換える
  • すべての依存関係を更新する 

これらすべては一時的に動作しますが、私が見つけたプロジェクト構造(cntrl + altr + shift + s)を開くと、 - SDKバージョンのコンパイル、sdkバージョンのビルドのように選択されません同じ味 

私はこれらすべてを更新して、クリーンで再構築するプロジェクトを実行します、そしてそれは私のために働きます。

0
Virendra Varma

これは私のために働く -

Platform\Android\build.gradleに最後にコードを追加する

configurations.all { 
 resolutionStrategy{
    force 'com.Android.support:support-v4:26.0.0'
    }

    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.Android.support') {
       if (!requested.name.startsWith("multidex")) {
      details.useVersion '26.0.0'
     }
   }
  }
}
0
Aditya Kumar

私の場合は、1つの「Android_support」ライブラリを2回インポートしているので、「libs」ディレクトリの下にある1つを削除して再構築します。

0
fredzzt

ほとんどの場合、これはうまくいきます。それは私にはうまくいきます。それがあなたにもうまくいくなら幸運です。

ステップ1:build.gradle(Module:app)にこれを追加します。 defaultConfig { multiDexEnabled true }

ステップ2:これを行います:Build => Clean Project

ステップ3:これを行います:Build => Rebuild Project

0
vivek yadav
    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.xyz.name"
        minSdkVersion 14
        targetSdkVersion 27
        versionCode 7
        versionName "1.6"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.Android.support:appcompat-v7:27.1.0'
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.1'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
    implementation 'com.Android.volley:volley:1.0.0'
    implementation 'com.wang.avi:library:2.1.3'
    implementation 'com.Android.support:design:27.1.0'
    implementation 'com.Android.support:support-v4:27.1.0'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.theartofdev.edmodo:Android-image-cropper:2.6.0'
    implementation 'com.loopj.Android:android-async-http:1.4.9'
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    implementation 'com.felipecsl.asymmetricgridview:library:2.0.1'
    implementation 'com.Android.support:recyclerview-v7:27.1.0'
    implementation 'com.github.darsh2:MultipleImageSelect:3474549'
    implementation 'it.sephiroth.Android.library.horizontallistview:hlistview:1.2.2'
    implementation 'com.Android.support:multidex:1.0.1'
}

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

注:上記のようにall supportライブラリを27.1.0に更新し、重複したものを削除してください。

0
Ashwin H

あなたが同じライブラリの2つのバージョンを追加したとき、それは一般的な問題です。依存関係またはライブラリのどちらかで....それは私の場合そしてほとんど毎回これが問題を解決する.. 

0
Shubham Soni

MultiDexの有効化、クリーニング、再構築、.gradleファイルの削除など、上記の解決策はどれもうまくいきませんでした。最後にしたのは、新しいプロジェクトを作成し、 src ディレクトリを削除して前のプロジェクトに置き換えることです。 build.gradle(app)に必要なすべてのライブラリをコピーし、同期してください。エラーなくビルドされるはずです。

0
Bryan Ibrahim

build.gradle debugCompilereleaseCompileがあるか確認してください。それをdebugImplementationreleaseImplementationに変更します。これが私がそれを解決した方法でした、gradleはこの首尾よくマークされた指示を非推奨としてパスすべきです、しかし突然突然それはこの2つの上で正確に動けなくなった。

0
Dmytro Nasyrov
./gradlew :app:assembleStubLiveDebug -debug -stacktrace

または同様(Android Studioからタスク名(:app:assembleStubLiveDebug)を取得)。

0
Alex E