Android studio 3.0: ไม่สามารถแก้ไขการพึ่งพาสำหรับ: app @ dexOptions / compileClasspath ': ไม่สามารถแก้ไขโครงการ: แอนิเมชั่น


164

ฉันย้ายไปยัง 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'.

คุณทำอะไรไปแล้ว
Pandiri Deepak

ในฐานะที่เป็นโซลูชั่นแรกและชั่วคราวที่จะทำให้โครงการทำงานด้วย android studio 3.0 ฉันรักษา distributionUrl = https \: //services.gradle.org/distribution/gradle-3.3-all.zip , compileSdkVersion 25และbuildToolsVersion "25.0.3"และclasspath 'com.android.tools.build:gradle:2.3.3'
Imene Noomene

@ImeneNoomene คำตอบของ JackHuang ควรเป็นคำตอบที่เลือก มันขึ้นอยู่กับเอกสารอย่างเป็นทางการและสิ่งที่ Sackurise บอกว่าไม่สามารถทำได้เสมอ (คิดว่า React Native project ซึ่งโมดูลส่วนใหญ่ของคุณมาจากเว็บ)
Leo สนับสนุน Monica Cellio

ฉันพบปัญหานี้เนื่องจากห้องสมุดหลายรสชาติ แก้ไขได้จาก: stackoverflow.com/a/48718124/1099884
Yeung

ฉันแก้ไขปัญหาของฉันโดยเพียงอัปเดตAndroid Studio
Frank Goortani

คำตอบ:


145

ด้วย 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{ ... }
    }

คุณมีในไฟล์build.gradle (แอพ) ของคุณคุณต้องรวมbuildTypes{ }ชื่อที่มีชื่อเหมือนกันด้วย

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

ในbuild.gradleไฟล์ของห้องสมุดโมดูล / รวมอยู่ในโครงการ

ทำความสะอาดและสร้างโครงการปัญหาจะได้รับการแก้ไข

ยังไม่ได้รับการแก้ไขให้อัปเดต gradle-wrapper.properties เป็น

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

102
รวมชื่อทั้งหมดbuildTypes { }ด้วยหรือไม่ คุณกำลังพูดเรื่องอะไร
lolololol ol

10
ฉันก็ไม่รู้เหมือนกันว่ามันหมายถึงอะไร
Sir Neuman

5
developer.android.com/studio/build/… น่าเสียดายที่นี่ไม่สามารถใช้งานได้กับการสร้างที่ทันสมัยอีกต่อไป
mochadwi

2
เท่านี้ทำให้รู้สึกว่านี่ไม่ใช่คำตอบที่เป็นประโยชน์ ... ฉันไม่ต้องการเพิ่มประเภทการสร้างนี้ไปยังโมดูลทั้งหมดของฉัน .. พวกเขาไม่มีธุรกิจอยู่ที่ใดยกเว้นแอพของฉัน! และแอพของฉันจำเป็นต้องรู้ว่าบิลด์บิลด์ประเภทใดที่ต้องใช้คือการกำหนดค่าจาก!
TacB0sS

3
นี่เป็นวิธีแก้ปัญหามันเป็นเพียงวิธีแก้ปัญหา คำตอบ @JackHang เป็นวิธีที่ถูกต้องในการจัดการปัญหานี้ ( stackoverflow.com/a/47029361/6600000 )
Keivan Esbati

129

ตามที่ระบุในคู่มือการโยกย้ายอย่างเป็นทางการข้อผิดพลาดนี้จะเกิดขึ้นเมื่อ:

แอปของคุณมีประเภทบิลด์ที่การพึ่งพาไลบรารีไม่ได้

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

สถานที่ที่ถูกต้องในการค้นหาข้อมูลคือเอกสารนี้


18
นี่ควรเป็นคำตอบที่ถูกต้องตามที่อธิบายไว้ในคู่มือการโยกย้ายอย่างเป็นทางการ developer.android.com/studio/build/…
จับใจได้

3
นี่เป็นคำตอบที่ดีที่สุดและได้แก้ไขปัญหาของฉันฉันเพียงต้องการใช้ matchingFallbacks = ['release', 'debug'] ใน Flavours แทน
Poorya

3
ยอดเยี่ยมเพียง! ขอบคุณสำหรับการบันทึกวันของฉัน
Dmitry Smolyaninov

Gradle 5.1.1 น่าเสียดายที่ใช้งานไม่ได้ข้อผิดพลาดยังคงเหมือนเดิม ฉันมี buildTypes ที่เหมือนกันบนไลบรารีแล้วเพิ่มการจับคู่คืนให้กับรสชาติเพื่อประโยชน์
m0skit0

95

ตรวจสอบให้แน่ใจว่าคุณอยู่ในโครงการของคุณ

  1. เปิดการตั้งค่าโดยการคลิกไฟล์ > การตั้งค่า (บน Mac, Android Studio > การตั้งค่า )
  2. ในบานหน้าต่างด้านซ้ายคลิกสร้างการดำเนินการปรับใช้ >> การไล่ระดับสี
  3. ยกเลิกการเลือก / ปิดการใช้งานOffline workช่องทำเครื่องหมาย
  4. คลิกสมัครหรือตกลง

2
คำตอบที่ง่ายที่สุดและดีที่สุด
Daksh Agrawal

1
ฉันลืมฉันได้เปิดใช้งานตัวเลือกนั้น ขอบคุณ
SudoPlz

1
นี่ควรเป็นคำตอบ ขอบคุณบันทึกเวลาของฉัน
Pouya Samie

6
ใช้ไม่ได้กับไลบรารีโลคัล ยกเลิกการเลือกตัวเลือกแล้วและยังมีปัญหาอยู่
Christopher Smit

คำตอบเก่า ๆ สำหรับ Android studio 3 คำถาม!
Emad

72

ฉันใช้เวลามากมายกับปัญหานี้และไม่มีวิธีแก้ปัญหาใดที่ได้ผลสำหรับฉัน ชื่อและจำนวนประเภทบิลด์นั้นเท่ากันทั้งในแอพและโครงการห้องสมุด

ข้อผิดพลาดเดียวที่ฉันทำคือ - ใน build.gradle ของโครงการห้องสมุดฉันใช้สาย

ใช้ปลั๊กอิน: 'com.android.application'

ในขณะที่สายนี้ควรจะเป็น -

ใช้ปลั๊กอิน: 'com.android.library'

หลังจากทำการเปลี่ยนแปลงข้อผิดพลาดนี้ได้รับการแก้ไข


10
Fantastic! นี่คือปัญหาของฉัน ควรสังเกตว่า applicationId ใน defaultConfig {} จำเป็นต้องลบออกในไลบรารีด้วย
ObjectType

1
ฉันเพิ่งจะโพสต์คำตอบนี้ซึ่งฉันค้นพบหลังจากเช่นคุณทำงานที่น่าผิดหวังอย่างหนักและลองตัวเลือกทุกชนิดแล้วบางส่วน [ก่อนโพสต์] ฉันตัดสินใจเห็นโพสต์ล่าสุดเกี่ยวกับเรื่องนี้และ .. voila! คำตอบนี้จำเป็นต้องจัดลำดับความสำคัญอย่างใด
nat101

Love you bro: *
Sumit Kumar

ขอบคุณนี่คือมัน
Musketyr

ไม่ได้ผลสำหรับฉัน และไม่มีสิ่งใดข้างต้นใช้งานไม่ได้
user347187

63

ปรับเปลี่ยนทั้งหมด

compile project(':library:yourproject')

ถึง

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

ในแอปของคุณ build.gradle บันทึกบรรทัดด้วยการกำหนดค่า


ฉันเห็นมันเริ่มทำงาน แต่เมื่อฉันสลับไปมาระหว่างการสร้างสายพันธุ์: การแก้ปัญหา / โมดูลห้องสมุด realease ไม่เปลี่ยน
Murt

ความภาคภูมิใจของคุณนักพัฒนาชาวเวียดนาม: D Ton ขอบคุณ
Long Nguyen

ถ้าฉันมีการกำหนดค่าเพิ่มเติมคุณรู้หรือไม่ว่าฉันต้องระบุ buildTypes ที่พารามิเตอร์การกำหนดค่า
Alejandro Traver

34

ฉันลองทุกอย่างตั้งแต่ยกเลิกการเลือกงานออฟไลน์ไปจนถึงการจับคู่คืนเงิน แต่ไม่มีอะไรทำงาน

จากนั้นในการอ้างอิงของ app.gradle ,

แทน

โครงการดำเนินการ (': lib-name')

ฉันใช้,

โครงการการนำไปใช้ (เส้นทาง: ': lib-name', การกำหนดค่า: 'ค่าเริ่มต้น')

เช่น: implementation project(path:':myService', configuration: 'default')

และมันก็ใช้งานได้เหมือนมีเสน่ห์ :)

ผมได้รับการเพิ่มโมดูลพึ่งพากับบริการและกำลังไม่ได้ทำห้องสมุดเป็นส่วนหนึ่งของโครงการ AOSP

ในกรณีที่มันช่วยใครบางคน


4
นี่เป็นสิ่งเดียวที่ทำงานให้ฉันและฉันดึงผมออกมาหลายชั่วโมง ... ขอบคุณมาก!
sunny-mittal

3
ไม่มีข้อผิดพลาดในการไล่ระดับสีด้วยวิธีนี้ แต่ก็ยังไม่สามารถอ้างอิงไลบรารีจาก java: /
Nathan Schwermann

3
ขอบคุณฉันสิ้นสุดที่ต้องทำรสชาติที่ตรงกันสำหรับทุกสิ่งที่ห้องสมุดมีและใช้งานได้
Nathan Schwermann

1
ทำงานได้อย่างสมบูรณ์แบบ เหตุผลเฉพาะใด ๆ หลังการกำหนดค่า: ตัวเลือก 'เริ่มต้น'
Radhey

1
ไม่มีข้อผิดพลาดในการไล่ระดับสีด้วยวิธีนี้ แต่ก็ยังไม่สามารถอ้างอิงไฟล์จากโมดูลแอพได้
androidbash

17

สารละลาย:

Dowload Gradle เวอร์ชั่นที่ดีที่สุด

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

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

คลายการกระจายไฟล์

ไปที่ Android Studio -> ไฟล์ -> การตั้งค่า -> การไล่ระดับสี -> ใช้การกระจายระดับเสียงแบบโลคัลค้นหาไฟล์และตกลง

ในระดับ: แอปเขียนสิ่งนี้การนำไปใช้ (พา ธ : ': แอนิเมเตอร์', การกำหนดค่า: 'เริ่มต้น')

dependencies {
   .
   .
   .


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


}

ฉันยังมีปัญหานี้ แต่อะไรคือความแตกต่างระหว่าง implementation project(path: ':animators', configuration: 'default')และimplementation project(path: ':animators')(สิ่งนี้สร้าง androidstudio แต่ไม่สามารถใช้งานได้)
Andreas

10

นี่คือวิธีที่ฉันจะแก้ไขปัญหาของฉัน:

แทน

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

ในแอปพลิเคชัน gradle ฉันได้ใช้

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

และในประเภทงานสร้างของฉันเช่น

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

ฉันเพิ่มบรรทัดนี้

demoTest {
   matchingFallbacks = ['debug', 'release']
}

7

ฉันมีปัญหาเดียวกันและแก้ไขได้โดยเพิ่ม 'mavenCentral ()' เพื่อ build.gradle (โครงการ)

allprojects {
    repositories {
        ...
        mavenCentral()
    }
}

7

ปัญหาของฉันอยู่ด้านล่าง

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

แก้ไขได้โดยการตรวจสอบ Enable embedded Maven Repository

ป้อนคำอธิบายรูปภาพที่นี่


5

แม้ว่าฉันจะต้องเผชิญกับปัญหาเดียวกัน

ฉันได้แก้ไขปัญหาโดยอ้างอิงโซลูชัน 2 ข้างต้นด้วย g‌ radle-4.1 ใหม่:

ฉันทำการเปลี่ยนแปลงระดับดังนี้ ดูเหมือนว่าการดาวน์โหลดทรัพยากรผ่าน maven Amazon ช่วยให้ฉันแก้ไขปัญหามีปัญหากับ appcompat library ตรวจสอบและตรวจสอบให้แน่ใจว่าไลบรารีสนับสนุนที่เข้ากันได้กับ 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'

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

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


5

เปลี่ยนรหัสนี้ในระดับเสียง:

  compile project(':yourLibrary')

ถึง

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

4

ฉันพบวิธีแก้ไขปัญหาสองประเภท:

  1. วิธีแก้ปัญหาด้วย g‌ radle-3.3:

    ในฐานะโซลูชั่นแรกและชั่วคราวที่จะทำให้โครงการทำงานด้วย android studio 3.0 ฉันยังคงตั้งค่าเดิมของ Android Studio 2.3 ก่อนหน้านี้

    DistributionUrl = https: //services.gradle.org/distribution/g‌ radle-3.3-all.zip, compileSdkVersion 25 ** และ ** buildToolsVersion "25.0.3" และ classpath '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"
}

3

คุณเพียงแค่ต้องรีเซ็ตการอ้างอิงในไฟล์ 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

ตรวจสอบให้แน่ใจว่าคุณได้ปิดการใช้งาน "งานออฟไลน์" ในการตั้งค่า Gradle (การตั้งค่า -> Build, Execution, Deployment-> Build Tools-> Gradle)

ฉันทำผิดพลาดนี้ ฉันทำตามคำแนะนำในการเร่งการสร้าง gradle และได้เปิดใช้งานตัวเลือกออฟไลน์ หากเปิดใช้งานแล้ว Gradle จะไม่สามารถดาวน์โหลดการอ้างอิงใหม่ใด ๆ และด้วยเหตุนี้จะส่งผลให้เกิดข้อผิดพลาด "ไม่สามารถแก้ไขการพึ่งพา"


1
นี่คือคำตอบที่ดีที่สุด
Zia Ur Rahman

การออฟไลน์มีอะไรเกี่ยวข้องกับโครงการท้องถิ่นบ้าง
m0skit0

หากคุณออฟไลน์อยู่คุณจะไม่สามารถดาวน์โหลดการอ้างอิงที่ต้องการได้
Yashas

2

ฉันพบปัญหาเดียวกันและได้แก้ไข

เนื่องจากสถานการณ์ของฉันฉันเดาว่าbuild.gradleไฟล์ของคุณสำหรับโครงการแอปมีตัวอย่างข้อมูลด้านล่าง:

android {
    ...
    buildTypes {
        debug {...}
        release {...}
        dexOptions {...}
    }
}

แต่จริงๆแล้วdexOptionsไม่ใช่ประเภทบิลด์คุณควรย้ายdexOptionsส่วนออกbuildTypesเช่นนี้

android {
    ...
    dexOptions {
        ...
    }

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

หวังว่าจะสามารถช่วยใครบางคน


2

การเพิ่ม productFlavors {} ไปยังแอป build.gradle แก้ไขปัญหาให้ฉันได้แล้ว ดูด้านล่าง:

buildTypes {
        release {
             ...
        }
    }
productFlavors {
    }

2

สิ่งนี้อาจเกิดขึ้นเมื่อคุณเพิ่มการอ้างอิงถึงโมดูลคุณลักษณะที่ใช้ชนิดปลั๊กอินที่ไม่ถูกต้อง เพียงเปลี่ยนcom.android.applicationเป็นcom.android.featureหรือcom.android.library

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


1

ฉันคิดว่ามันมาจากgradle-wrapper.propertiesfile: สร้าง url ของการกระจายdistributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip และอย่า upgarde เป็น:distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....


ใช่ไม่ใช่ปัญหาการเข้ารหัสของคุณถ้าไม่ใช่?
Nawrez

2
ไม่ได้ผลสำหรับฉัน วิธีการแก้ปัญหานี้ทำให้ฉันมีข้อผิดพลาด "ข้อผิดพลาด: (1, 0) รุ่น Gradle ที่รองรับขั้นต่ำคือ 4.1 รุ่นปัจจุบันคือ 3.3 โปรดแก้ไขการตั้งค่า Gradle ของโครงการแก้ไข Gradle wrapper และนำเข้าโครงการใหม่"
Sandeep

3
การอัพเกรดไม่ได้ไม่ใช่วิธีแก้ไขปัญหาที่ถูกต้อง
ทำเครื่องหมาย

1

ดูเหมือนว่ามันเป็นข้อบกพร่องของ Gradle นี่เป็นการแก้ปัญหาสำหรับฉัน แต่มันไม่ใช่วิธีแก้ปัญหา เราต้องรอรุ่นใหม่เพื่อแก้ไขปัญหานี้

เมื่อวันที่ build.gradle อยู่ในชุดโครงการclasspath 'com.android.tools.build:gradle:2.3.3'แทนclasspath 'com.android.tools.build:gradle:3.0.0'

บน gradle-wrapper.properties ให้ตั้งค่าhttps://services.gradle.org/distribution/gradle-3.3-all.zipแทนhttps://services.gradle.org/distribution/gradle-4.1.2-all.zip


ดังนั้นข้อผิดพลาดยังคงเกิดขึ้นใน Gradle 5.1.1?
m0skit0

1

ในกรณีของฉันปัญหาที่ฉันมีเกิดจากการพึ่งพาฉันพยายามนำเข้า (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'
    } 
}

ซึ่งมันไม่ถูกต้องฉันต้องลบบรรทัด maven สองบรรทัดนี้และรวมไว้ในส่วนด้านขวา 'allprojects':

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

หวังว่ามันจะช่วยให้ใครบางคนเหมือนกันสำหรับฉัน


Maven ส่งผลกระทบต่อโครงการท้องถิ่นอย่างไร
m0skit0

1

ฉันลองวิธีแก้ปัญหาทั้งหมดที่ให้ไว้ข้างต้นและไม่มีวิธีใดที่ทำงานได้สำหรับฉันฉันรับรองว่าฉันมีประเภทการสร้างและรสชาติผลิตภัณฑ์ที่แน่นอนในโมดูลห้องสมุดและโมดูลแอปของฉัน


1

เธรดนี้ดูเหมือนจะสงสัยเล็กน้อย แต่เกี่ยวข้องกับคำถามเดิมไม่เพียง แต่คุณต้องมี buildTypes ในไฟล์ build.gradle ทั้งสองคุณต้องมีรสชาติของผลิตภัณฑ์ (ถ้าคุณใช้แน่นอน) ทั้งคู่ build.gradle ไฟล์เช่นกัน


0

ฉันลองใช้ Android studio 3.0.1 ด้วยการเชื่อมต่ออินเทอร์เน็ต Android studio เริ่มดาวน์โหลดบางสิ่งจากลิงค์โดยอัตโนมัติซึ่งแสดงในการแจ้งเตือนการสร้างของ Gradle ฉันไม่สามารถพูดได้ว่านี่เป็นคำตอบที่แน่นอน แต่ลองทำดู .. บางทีคุณอาจจะแก้ปัญหาของคุณได้


มีคำตอบอื่น ๆ ที่ให้คำถามของ OP และพวกเขาโพสต์เมื่อไม่นานมานี้ เมื่อโพสต์คำตอบดู: ฉันจะเขียนคำตอบที่ดีได้อย่างไร โปรดตรวจสอบให้แน่ใจว่าคุณได้เพิ่มโซลูชันใหม่หรือคำอธิบายที่ดีขึ้นอย่างมากโดยเฉพาะเมื่อตอบคำถามรุ่นเก่า
help-info.de

0

หากใช้ Android Studio บน Linux:

ไปที่: Home/Android Studio Projects folder/App name folder เปิดเทอร์มินัลในหน้านั้นและพิมพ์:

./gradlew -Dhttp.proxyHost

ตรวจสอบว่าJAVA_HOMEมีการตั้งค่าในไดเรกทอรีที่ถูกต้องหากไม่ได้ตั้งค่าตำแหน่งที่ถูกต้องในที่สุดก็สร้างโครงการของคุณใหม่

หมายเหตุ: หากไม่ได้ผลให้ลบโฟลเดอร์แคช gradle หรือทั้งหมดนั้นแล้วดาวน์โหลดอีกครั้งด้วย Android Studio


0

ฉันพบข้อผิดพลาดเดียวกันเมื่อฉันพยายามนำเข้าโปรเจ็กต์บางรุ่นที่มี gradle รุ่นต่ำกว่าและหยุดการติดตั้ง Gradle โดยไม่ได้ตั้งใจฉันแก้ไขปัญหานี้โดยการปิดใช้งานโหมดออฟไลน์และติดตั้ง Gradle รุ่นที่ต่ำกว่า


0

เพิ่มไลบรารีจากไฟล์ -> คลิกขวา -> ใหม่ -> โมดูล -> นำเข้า Eclipse ADT โครงการ -> เรียกดูไลบรารีของคุณ -> เสร็จสิ้นตอนนี้เพิ่มในการตั้งค่า gradle แอปตามรหัสต่อไปนี้:

implementation project(':library')

ในที่สุดเพิ่มในการตั้งค่า gradle รหัสต่อไปนี้:

include ':app', ':library'

0

หลังจากอัปเดต android studio เป็น 3.3 ฉันประสบปัญหานี้เมื่อฉันพยายามโหลด Firebase JobDispatcher การเพิ่มลิงค์นี้ใน gradle.properties แก้ไขปัญหาของฉัน

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip

0

ฉันรู้ว่าไม่มีวิธีการแก้ปัญหาข้างต้นใดที่จะใช้งานได้เนื่องจากฉันยังคงติดอยู่กับปัญหาแบบนี้มานานและในที่สุดก็ได้แก้ไขปัญหานี้หลังจากดูปัญหาอย่างระมัดระวังซึ่งชี้ว่า

ไม่สามารถแก้ไขการพึ่งพาสำหรับ ': app @ dexOptions / compileClasspath': ไม่สามารถแก้ไขโครงการ: library_Name

คุณต้องตรวจสอบให้แน่ใจและตรวจสอบอีกครั้งว่ามีชั้นเรียนอยู่หรือไม่ สิ่งนี้จะพิสูจน์ได้ว่าเป็นประโยชน์กับหลาย ๆ คนที่ฉันเดาเพราะการมุ่งเน้นที่ประเด็นนี้ทำให้ฉันเข้าใกล้ทางออก ตอนนี้หากไม่มีสิ่งใดในพา ธ โฟลเดอร์นั้นคุณต้องได้รับทุกอย่างเช่น src folder build folder ฯลฯ ทุกอย่างคัดลอกและวางมันตรงนั้นซิงค์ / สร้างโครงการหากจำเป็นให้ลองใช้โมฆะและรีสตาร์ท android studio หวังว่านี่จะช่วยให้คุณหมดปัญหาอย่างที่เกิดขึ้นในกรณีของฉัน

ขอบคุณ


0

เปลี่ยนimplementation 'com.android.support:appcompat-v7:27+'เป็นimplementation 'com.android.support:appcompat-v7:+'ทำงานให้ฉัน

ฉันใช้ Intellij 2019 CE กับ Kotlin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.