web-dev-qa-db-ja.com

Android studio 3.0:app @ dexOptions/compileClasspathの依存関係を解決できません。

Android Studio 3.0に移行しました。そのため、プロジェクトは ":animator"という名前のモジュールをコンパイルできなくなり、このエラーが表示されます。

 Error:Unable to resolve dependency for
 ':app@dexOptions/compileClasspath': Could not resolve project
 :animators. <a
 href="openFile:/home/mobilepowered/MobilePowered/MyInnovalee/trunk17-10-2017/app/build.gradle">Open
 File</a><br><a href="Unable to resolve dependency for
 &#39;:app@dexOptions/compileClasspath&#39;: Could not resolve project
 :animators.">Show Details</a>

詳細を表示すると、このログが表示されます。 

 Unable to resolve dependency for ':app@dexOptions/compileClasspath':
 Could not resolve project :animators.

 Could not resolve project :animators. Required by:
     project :app
 Unable to find a matching configuration of project :animators:
      - Configuration 'debugApiElements':
          - Required com.Android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
          - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
 found compatible value 'Aar'.
          - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but
 wasn't required.
          - Required org.gradle.api.attributes.Usage 'Java-api' and found compatible value 'Java-api'.
      - Configuration 'debugRuntimeElements':
          - Required com.Android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
          - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
 found compatible value 'Aar'.
          - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but
 wasn't required.
          - Required org.gradle.api.attributes.Usage 'Java-api' and found incompatible value 'Java-runtime'.
      - Configuration 'releaseApiElements':
          - Required com.Android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
          - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
 found compatible value 'Aar'.
          - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but
 wasn't required.
          - Required org.gradle.api.attributes.Usage 'Java-api' and found compatible value 'Java-api'.
      - Configuration 'releaseRuntimeElements':
          - Required com.Android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
          - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
 found compatible value 'Aar'.
          - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but
 wasn't required.
          - Required org.gradle.api.attributes.Usage 'Java-api' and found incompatible value 'Java-runtime'.
93
Imene Noomene

Android Studio 2.3(AS)では、プロジェクトはうまく機能し、私はアプリを実行することができます。 ASをAndroid Studio 3.0にアップデートした後。私もライブラリとビルドの種類のために以下のようなエラーを得ました。

Unable to resolve dependency for ':app@dexOptions/compileClasspath': Could not resolve project : library_Name.

Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve project : library_Name.

問題を解決するには、単純に。 

これまで 

buildTypes{
          debug{ ... }
          release{ ... }
    }

あなたの(app)build.gradleファイルに、あなたは以下のように同じ名前ですべてのbuildTypes{ }を含める必要があります 

buildTypes{
      debug{ ... }
      release{ ... }
}

プロジェクトに含まれるすべてのライブラリ/モジュールbuild.gradleファイルに。 

プロジェクトをクリーンにして再ビルドすると、問題は解決します。

それでも問題は解決しない、gradle-wrapper.propertiesを 

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip
98
Sackurise

プロジェクトに参加していることを確認してください

  1. ファイル > 設定 (Macの場合は Android Studio > 設定 )をクリックして設定を開きます。
  2. 左側のペインで、[ ビルド、実行、展開 >> Gradle ]をクリックします。
  3. チェックを外します / disable Offline workチェックボックス。
  4. 適用 または _ ok _ をクリックします。
87
X Stylish

公式の移行ガイド に記載されているように、このエラーは次の場合に発生します。

あなたのアプリには、ライブラリの依存関係がしないビルドタイプが含まれています

Android {
  buildTypes {
      release {
          ...
      }
      dexOptions {
          ...
        // release & debug is in project animators
        matchingFallbacks = ['release', 'debug']
      }
      debug {
          ...
      }
    }
}

マッチング設定のフォールバック を設定するのは明らかにそれを解決するための正しい方法です。

75
JackHang

すべて修正 

compile project(':library:yourproject') 

implementation project(path: ':library:yourproject', configuration:'default')

あなたのアプリのbuild.gradleで。設定の行に注意してください。

39
Duy Phan

私はこの問題に多くの時間を費やしました、そして、上記の解決策のどれも私のために働きません。ビルドタイプの名前と数も、アプリとライブラリプロジェクトの両方でまったく同じでした。 

私がしていた唯一の間違いは - 図書館プロジェクトのbuild.gradleでは、lineを使っていた 

プラグインを適用する: 'com.Android.application'

この行があるはずですが -

プラグインを適用する: 'com.Android.library'

この変更を加えた後、このエラーは解決されました。 

33
Anuj Garg

溶液:

Gradleの究極版をダウンロードする

http://services.gradle.org/distributions/ /

gradle-4.x-rc-1-all.Zip.sha256 09-Jan-2018 01:15 +0000 64.00B

配布を解凍する

Android Studioに移動 - >ファイル - >設定 - > Gradle - > Use local gradle distribution ファイルを検索してOK

Gradle:appこれを書いて、実装(パス: ':アニメーター'、設定: 'デフォルト')

dependencies {

.
.


implementation project(path: ':animators', configuration: 'default')

}

15
Ignacio_aa

オフライン作業のチェックを外す から matchingFallbacks まですべて試してみました。しかし何もうまくいきませんでした。

次に、app.gradleの依存関係で、

の代わりに 

実装プロジェクト( ':lib-name')

私が使った、

実装プロジェクト(パス: ':lib-name'、構成: 'default')

例:implementation project(path:':myService', configuration: 'default')

そしてそれは魅力のように働いた。 :)

serviceと一緒に依存関係モジュールを追加していましたが、AOSPプロジェクトの一部としてライブラリを作っていません。 

念のため、誰かを助けます。

8
Shachi

問題を解決した方法は次のとおりです。

の代わりに

compile project(':library_name')
compile project(':library_name')

私はアプリのgradleで使用しました

implementation project(':library_name')
implementation project(':library_name')

そして、例えば私のビルドタイプでは

demoTest {
 .........
}

この行を追加しました

demoTest {
   matchingFallbacks = ['debug', 'release']
}
8
Anik Dey

私の問題は以下の通りです

Unable to resolve dependency for ':app@debug/compileClasspath': Could not download rxjava.jar (io.reactivex.rxjava2:rxjava:2.2.2)

Enable embedded Maven Repositoryをチェックすることで解決されます

enter image description here

6
shellhub

私は同じ問題を抱えていて、 'mavenCentral()'をbuild.gradleに追加することによってそれを解決しました(プロジェクト)

allprojects {
    repositories {
        ...
        mavenCentral()
    }
}
5
Maybelle Pacate

でも、私は同じ問題に直面しています。

私は上記の解決策2を新しいgⓇradle-4.1で参照することで問題を解決しました。

Amazonを介してリソースをダウンロードすることで問題の解決に役立ったようです。appcompatライブラリに問題があります。 appcompat互換のサポートライブラリがシステムにダウンロードされていることを確認してください。私が感じていることは、それは単にmavenを通してダウンロードされないリソースであり、コンパイルエラーの問題を引き起こしています。問題を解決するために、リソースがローカルドライブにあることを確認してください。

と遊びました

  1. Maven AmazonのURL
repositories {
    maven {
        url "https://s3.amazonaws.com/repo.commonsware.com"
    }
    jcenter()
}
  1. 互換性のあるサポートライブラリをドライブにダウンロードし、互換性のあるライブラリを参照してください。
dependencies {
    implementation fileTree(dir: 'libs', include: \['*.jar'\])
    implementation 'com.Android.support:appcompat-v7:26.0.0-alpha1'
    implementation  'com.Android.support:support-v4:26.0.0-alpha1'
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'

}

完成したファイル

        apply plugin: 'com.Android.application'

        repositories {
            maven {
                url "https://s3.amazonaws.com/repo.commonsware.com"
            }
            jcenter()
        }

        Android {
            compileSdkVersion 26
            defaultConfig {
                applicationId "com.cognizant.interviewquestions.cognizantiqpractice2"
                minSdkVersion 18
                targetSdkVersion 26
                versionCode 1
                versionName "1.0"

                javaCompileOptions {
                    annotationProcessorOptions {
                        includeCompileClasspath false
                    }
                }

                dexOptions {
                    javaMaxHeapSize "4g"
                    preDexLibraries = false
                }
            }

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

        dependencies {
            implementation fileTree(dir: 'libs', include: \['*.jar'\])
            implementation 'com.Android.support:appcompat-v7:26.0.0-alpha1'
            implementation  'com.Android.support:support-v4:26.0.0-alpha1'
            implementation 'com.Android.support.constraint:constraint-layout:1.0.2'

        }
---------------------------------------------------------------------------

enter image description here

enter image description here

5
Arvind Anandala

Gradle設定で 「オフライン作業」が無効になっていることを確認してください ([設定] - > [ビルド]、[実行]、[展開] - > [ビルドツール] - > [Gradle])。

私はこの間違いをしました。私は、グラドルの構築をスピードアップするためのガイドに従って、オフライン作業オプションをオンにしました。これが有効になっていると、Gradleは新しい依存関係をダウンロードすることができないため、 "依存関係を解決できません"というエラーが発生します。 

4
Yashas

私は2つのタイプの解決策を見つけました: 

  1. 古いgⓇradle-3.3を使った解決策:

    プロジェクトをAndroid Studio 3.0で実行するための最初の一時的な解決策として、以前のAndroid Studio 2.3の古い設定を維持します。 

    distributionUrl = https://services.gradle.org/distributions/gapradle-3.3-all.Zip、compileSdkVersion 25 **および** buildToolsVersion "25.0.3"、クラスパス 'com.Android.tools.build:gradle: 2.3.3

  2. 新しいgⓇradle-4.1による解決策:

    gradle 4.1 および classpath com.Android.tools.build:gradle:3.0.0 ' の新機能を操作するには、次のリンクをたどります https:// developer .Android.com/studio/build/gradle-plugin-3-0-0-migration.html 。だから、それらは私の実装です: 

Gradle-wrapper.propertiesファイルで: 

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip

プロジェクトのファイルbuild.gradle内で: 

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.0'
        //classpath 'me.tatarka:gradle-retrolambda:3.3.1' remove this line
    }
}

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

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

アプリのファイルbuild.gradleで、 

apply plugin: 'com.Android.application'
//apply plugin: 'me.tatarka.retrolambda' remove this line

repositories {
    maven {
        url "https://s3.amazonaws.com/repo.commonsware.com"
    }
    jcenter()
    mavenCentral()
    maven { url "https://jitpack.io" }
}

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.imennmn.myprojectid"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        /**
         * Enabling multidex support.
         */
        multiDexEnabled true
        missingDimensionStrategy 'minApi' , 'minApi24'

        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath true
            }
        }

        dexOptions {
            javaMaxHeapSize "4g"
            preDexLibraries = false
        }

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

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
    }

    /**
     * Solve the problem when using multiple free source libs
     * NOTICE or LICENSE files cause duplicates
     */
    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/DEPENDENCIES'
        //exclude duplicate butterknife and parceler libs
        exclude 'META-INF/services/javax.annotation.processing.Processor'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/rxjava.properties'

    }


}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation files('libs/motwin-Android-sdk-3.2.0-RELEASE-TLS.jar')
    implementation files('libs/notifmanager-Android-lib-3.1.0-RELEASE.jar')
    implementation files('libs/commons-lang-2.4.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:26.0.2'
    implementation 'com.Android.support:support-v4:26.0.2'
    implementation 'com.Android.support:design:26.0.2'
    implementation 'com.Android.support:multidex:1.0.2'
    api 'com.jakewharton:butterknife:7.0.1'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation 'com.Android.support:percent:26.0.2'
    implementation 'com.google.Android.gms:play-services-maps:11.4.2'
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.google.code.gson:gson:2.8.1'
    testImplementation 'junit:junit:4.12'
    implementation 'com.facebook.rebound:rebound:0.3.8'
    implementation 'com.google.Android.gms:play-services-gcm:11.4.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.1'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

    implementation project(':animators')

    // Retrofit2 & XmlConverter
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'

    implementation('com.squareup.retrofit2:converter-simplexml:2.3.0') {
        exclude group: 'xpp3', module: 'xpp3'
        exclude group: 'stax', module: 'stax-api'
        exclude group: 'stax', module: 'stax'
    }

    implementation 'com.squareup.okhttp3:okhttp:3.4.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'

    //Library to reports crash
    implementation('ch.acra:acra:4.5.0') {
        exclude group: 'org.json'
    }

    implementation 'com.github.kenglxn.QRGen:Android:2.3.0'

}

ライブラリアニメータのbuild.gradleでは、targetSdkVersionを26にアップグレードします。 

apply plugin: 'com.Android.library'

Android {
  compileSdkVersion 26
  buildToolsVersion '26.0.2'

  defaultConfig {
    minSdkVersion 21
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
  }
}

dependencies {
  implementation "com.Android.support:support-compat:26.0.2"
  implementation "com.Android.support:support-core-ui:26.0.2"
  implementation "com.Android.support:recyclerview-v7:26.0.2"
}
4
Imene Noomene

app.gradleファイルの依存関係を古いものと同様にリセットするだけです 

androidTestImplementation 'com.Android.support.test:runner:0.5'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:2.2.2'

新しいものに

androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
3
Wasif Ali

私は同じ問題に出会い、解決しました。

私の状況により、アプリプロジェクトのbuild.gradleファイルには以下の抜粋が含まれていると思います。

Android {
    ...
    buildTypes {
        debug {...}
        release {...}
        dexOptions {...}
    }
}

しかし実際には、dexOptionsはビルドタイプではないので、dexOptionsセクションをbuildTypesの外側に移動する必要があります。

Android {
    ...
    dexOptions {
        ...
    }

    buildTypes {
        debug {...}
        release {...}
    }
}

誰かに役立つことを願っています。

2
Zhuang Ma

私の場合、私が抱えていた問題は、インポートしようとしていた依存関係が原因でした(BottomNavigationViewEx)。 

この依存関係はjitpack.ioとmaven.google.comからダウンロードする必要があり、私はこの設定をbuildscriptセクションに入れていました。

buildscript {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" } // this is incorrect
        maven { url "https://maven.google.com" } // this is incorrect
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.2'
    } 
}

それが間違っていた、私はこれら2本のmavenの行を削除して正しいセクション「allprojects」に含める必要があります。

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

それが私にとって同じように誰かに役立つことを願っています。

1
Neonigma

私はそれがgradle-wrapper.propertiesファイルからだと思います:配布URLをdistributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.Zipにし、次のことにアップグレードしないでください:distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....

1
Nawrez

Gradleのバグのようです。これで問題は解決しますが、解決策ではありません。この問題を解決する新しいバージョンを待つ必要があります。

プロジェクトのbuild.gradleで クラスパス 'com.Android.tools.build:gradle:2.3.3' 代わりに クラスパス 'com.Android.tools.build:gradle:3.0.0' を設定します。

Gradle-wrapper.propertiesに https://services.gradle.org/distributions/gradle-3.3-all.Zip 代わりに https://services.gradle.org/distributions/gradle-4.1.2を設定します。 -all.Zip

1
Ramin

アプリbuild.gradleにproductFlavors {}を追加することで問題は解決しました。下記参照:

buildTypes {
        release {
             ...
        }
    }
productFlavors {
    }
1
cbelwal

implementation 'com.Android.support:appcompat-v7:27+'implementation 'com.Android.support:appcompat-v7:+'に変更するとうまくいきました

KotlinでIntellij 2019 CEを使用しています

0
tausif
Step 1:
1.Open the Preferences, by clicking File > Settings (on Mac, Android Studio > Preferences).
2.In the left pane, click Build, Execution, Deployment >> Gradle.
3.Uncheck/disable the Offline work checkbox.
4.Click Apply or OK.

Step 2:
downgrade the gradle-wrapper.properties content which you can access this 
file directory by clicking on CTRL + SHFT +R KEY 
e.g from
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip

to 
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.Zip

or to any lower version like /gradle-3.9-all.Zip or /gradle-3.8-all.Zip
0
Alabi Temitope

ライブラリには2つのフレーバーがありました。アプリのGradleにも同じフレーバーが必要です

0
uberchilly

インターネットに接続してAndroid Studio 3.0.1を起動してみました。 Androidスタジオは自動的にGradleビルド通知に表示されていたリンクから何かをダウンロードし始めました。これは確実な答えだとは言えませんが、試してみてください。

0
Ankit Jha

このスレッドは少し疑問に思ったようですが、元の質問に関しては、両方のbuild.gradleファイルにbuildTypeを含める必要があるだけでなく、両方にproductFlavors(もちろん使用する場合)が必要ですbuild.gradleファイルも同様です。

0
user330844

このコードをgradleに変更します。

  compile project(':yourLibrary')

   implementation project(path: ': yourLibrary', configuration:'default')
0
Maryam Azhdari

[ファイル] - >右クリック - > [新規] - > [モジュール] - > [Eclipse ADTプロジェクトのインポート] - > [ライブラリの参照] - > [終了]からライブラリを追加します。

implementation project(':library')

最後に次のコードを設定gradleに追加します。

include ':app', ':library'
0
Soumen Das

これは、誤ったプラグインタイプを使用する機能モジュールへの参照を追加したときにも発生することがあります。 com.Android.applicationcom.Android.featureまたはcom.Android.libraryに変更するだけです。

https://i.stack.imgur.com/NDjnG.png

0
Igor Wojda

私は長い間この種の問題に立ち往生しているので、私は上記の解決策のどれもがうまくいかないことを知っています。

':app @ dexOptions/compileClasspath'の依存関係を解決できません:project:library_Nameを解決できませんでした。

クラスがそこに常駐しているかどうかを確実に二重チェックする必要があります。この点に焦点を当てることで解決策に近づくことができたので、この1つのことは私が推測する多くの人にとって非常に役立つことがわかります。そのフォルダパスに何も存在しない場合は、srcフォルダ、ビルドフォルダなどすべてを取得する必要があります。それをコピーしてプロジェクトを同期/再構築プロジェクトに貼り付けます。願わくは、私の場合はそうしてください。

ありがとう

0
Ali Nawaz

LinuxでAndroid Studioを使用している場合:

そのページでHome/Android Studio Projects folder/App name folder 端末を開き、次のように入力します。 

./gradlew -Dhttp.proxyHost 

有効なディレクトリにJava_HOMEが設定されているかどうかを確認し、有効な場所が設定されていない場合は、最後にプロジェクトを再ビルドします。

注:それでもうまくいかない場合は、Gradle Cacheフォルダまたはそのすべてを削除して、Android Studioでもう一度ダウンロードしてください。

0
Fazel

Android Studioを3.3にアップデートした後。 Firebase JobDispatcherをロードしようとしたときに、この問題に直面しました。 gradle.propertiesにこのリンクを追加すると問題が解決しました

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.Zip
0
Shaon

私の場合、そうでした:

「:app @ debug/compileClasspath」の依存関係を解決できません:アーティファクトの変換に失敗しました...

私は10のソリューションを試しましたが、誰も働いていませんでしたので、私のソリューションはC:\ Users\djdance.gradle\cachesを削除してASを再起動することでした

0
djdance

私は上で与えられたすべての解決策を試しました、そして、それらのどれも私のために働きませんでした、私は私のライブラリーモジュールとアプリモジュールで正確なビルドタイプと製品フレーバーを持っています。

0
Po10cio

私は私がより低いバージョンのgradleでいくつかのプロジェクトをインポートしようとし、誤ってgradleのインストールを停止しようとしたときに同じエラーが発生します。

0
yome