ไม่สามารถแก้ไขได้: com.android.support:appcompat-v7:26.0.0


84

ฉันมีปัญหานี้ใน Android Studio

Error:(22, 13) Failed to resolve: com.android.support:appcompat-v7:26.0.0
<a href="install.m2.repo">Install Repository and sync project</a><br><a href="openFile:C:/Users/username/AndroidStudioProjects/ElectroSave/app/build.gradle">Show in File</a><br><a href="open.dependency.in.project.structure">Show in Project Structure dialog</a>

นี่คือรหัส Gradle ของฉัน:

apply plugin: 'com.android.application'

android {
       compileSdkVersion 26
      buildToolsVersion "25.0.2"
    defaultConfig {
    applicationId "com.example.noelly.myapplication"
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
}
   buildTypes {
      release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'




 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:26.0.0'
}

1
ฉันคิดว่ามีปัญหาบางอย่างในการอัปเดต android studio (เวอร์ชันเสถียร) แต่ใช้งานได้ในเวอร์ชัน android studio 3 canary หากต้องการแก้ไขเพียงปรับลดรุ่นไลบรารีการสนับสนุน repo compile 'com.android.support:cardview-v7:25.3.1'
Geek

แล้วคุณInstall Repository and sync projectล่ะ?
OneCricketeer

7
@AndroidGeek ไลบรารีการสนับสนุนเวอร์ชันใหม่ล่าสุดอยู่ที่ Google Maven repo ซึ่งต้องติดตั้งdeveloper.android.com/topic/libraries/support-library/…
OneCricketeer

คำตอบ:


212

ในการใช้ไลบรารีสนับสนุนที่เริ่มต้นจากเวอร์ชัน 26.0.0 คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในไฟล์ build.gradle ของโปรเจ็กต์ของคุณตามที่อธิบายไว้ที่นี่: https://developer.android.com/topic/libraries/support-library/setup.html

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

สำหรับ Android Studio 3.0.0 ขึ้นไป:

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

ตรวจสอบให้แน่ใจว่าคุณต้องเพิ่ม google () ภายใต้ allprojects ใน buildscript ซึ่งจะถูกเพิ่มไปแล้ว นั่นเป็นอย่างไรในกรณีของฉันและฉันสามารถแก้ไขได้จากคำตอบนี้
Joe Kevin Rayan

59

โปรดสังเกตเราจำเป็นต้องเพิ่ม Google Maven ไปยังห้องสมุดการใช้งานเริ่มต้นจากการสนับสนุนการแก้ไข 25.4.0 ดังในบันทึกประจำรุ่นกล่าวว่า :

สำคัญ: ขณะนี้ไลบรารีสนับสนุนพร้อมใช้งานผ่านที่เก็บ Maven ของ Google แล้ว คุณไม่จำเป็นต้องดาวน์โหลดที่เก็บการสนับสนุนจาก SDK Manager สำหรับข้อมูลเพิ่มเติมโปรดดูที่ Support Library Setup

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

Play servicesและการFirebaseอ้างอิงตั้งแต่เวอร์ชัน 11.2.0 ก็ต้องใช้ google maven เช่นกัน อ่านการปรับปรุงบางอย่างเพื่อปพลิเคชันการใช้บริการ Google PlayและGoogle APIs Android สิงหาคม 2017 - รุ่นที่วางจำหน่ายบันทึก

ดังนั้นคุณต้องเพิ่ม google maven ลงในรูท ของคุณbuild.gradleดังนี้:

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

สำหรับปลั๊กอิน Gradle build tools เวอร์ชัน 3.0.0 คุณสามารถใช้ที่google()เก็บ (เพิ่มเติมได้ที่Migrate to Android Plugin for Gradle 3.0.0 ):

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

อัพเดท:

จากที่เก็บ Maven ของ Google :

เวอร์ชันล่าสุดของไลบรารี Android ต่อไปนี้มีให้จากที่เก็บ Maven ของ Google:

ในการเพิ่มลงในบิลด์ของคุณคุณต้องรวมที่เก็บ Maven ของ Google ไว้ในไฟล์ระดับบนสุด / รูทของคุณก่อน build.gradle :

allprojects {
    repositories {
        google()

        // If you're using a version of Gradle lower than 4.1, you must instead use:
        // maven {
        //     url 'https://maven.google.com'
        // }
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
}

จากนั้นเพิ่มไลบรารีที่ต้องการในบล็อกการอ้างอิงของโมดูลของคุณ ตัวอย่างเช่นappcompatไลบรารีมีลักษณะดังนี้:

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
}

อย่างไรก็ตามหากคุณกำลังพยายามใช้ไลบรารีข้างต้นเวอร์ชันเก่าและการพึ่งพาของคุณล้มเหลวแสดงว่าไม่มีในที่เก็บ Maven และคุณต้องรับไลบรารีจากที่เก็บออฟไลน์แทน


5
google()ไม่มีอยู่ใน2.3.3Android Plugin for Gradle ไม่ได้มาจาก Android Plugin สำหรับ Gradle เลย มันมาจาก Gradle เอง มีอยู่ใน Gradle 4.1 และไม่มีอยู่ใน Gradle 3.3 - ฉันไม่แน่ใจว่ามีการเพิ่มที่ใด
CommonsWare

1
นี่คือคำตอบที่สมบูรณ์พร้อมคำอธิบายว่าเหตุใด google () จึงหายไปในรุ่น gradle รุ่นเก่า
Stoycho Andreev

6
  1. เพิ่มสิ่งนี้ในbuild.gradle (Project: projectname)

    allprojects {
      repositories {
        jcenter()
        maven { url "https://maven.google.com" }
      }
    }
    
  2. เพิ่มสิ่งนี้ในbuild.gradle (โมดูล: app)

    dependencies {
      compile 'com.android.support:appcompat-v7:26.1.0'
    }
    

5

หากคุณใช้ jitpack.io หรือที่เก็บใด ๆ อยู่แล้ว คุณสามารถเพิ่มที่เก็บ Google ได้ดังนี้:

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

3

คุณลืมเพิ่ม alpha1 ในพื้นที่โมดูล

compile 'com.android.support:appcompat-v7:26.0.0-alpha1'

ใช้ที่เก็บ maven ในพื้นที่โครงการนั่นแหล่ะ

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


1

หากคุณใช้ Android Studio 3.0 ให้เพิ่มที่เก็บ Google maven ดังที่แสดงด้านล่าง:

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

1

ใส่คำอธิบายภาพที่นี่ฉันประสบปัญหาเดียวกัน แต่ฉันเปลี่ยนการอ้างอิง 26.0.0-beta1 เป็น 26.1.0 และใช้งานได้แล้ว


ขอแนะนำให้ใส่ข้อความจริงที่จำเป็นในการแก้ไขแทนภาพหน้าจอ ด้วยวิธีนี้เราสามารถตรวจสอบให้แน่ใจว่าเครื่องมือค้นหาหยิบขึ้นมาและยังสะอาดกว่ามาก
Taegost

1

ปัญหาของฉันได้รับการแก้ไขด้วยความช่วยเหลือของขั้นตอนต่อไปนี้:

สำหรับ gradle 3.0.0 ขึ้นไป

  1. เพิ่ม google () ด้านล่าง jcenter ()
  2. เปลี่ยน compileSdkVersion เป็น 26 และ buildToolsVersion เป็น 26.0.2
  3. เปลี่ยนเป็น gradle-4.2.1-all.zip ในไฟล์ gradle_wrapper.properties

1

การเพิ่มเนื้อหาด้านล่างใน gradle หลักช่วยแก้ปัญหาให้ฉันได้:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
        flatDir {
            dirs 'libs'
        }
    }

0

ไปที่เส้นทาง SDK: SDK\extras\android\m2repository\com\android\support\appcompat-v7 เพื่อดูชื่ออ้างอิงที่ถูกต้องจากนั้นเปลี่ยนชื่อหากการอ้างอิงของคุณเป็นเวอร์ชันอัลฟา:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:26.0.0'
}

ถึง :

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
}

0

File -> Project Structure -> Modules (app) -> Open Dependencies Tab -> Remove all แล้วใช้+เพื่อเพิ่มจากรายการที่เสนอ


0

คุณสามารถควบคุมการเข้าถึงอินเทอร์เน็ตได้หรือไม่? หากคุณไม่มีอินเทอร์เน็ตแสดงว่าคุณไม่สามารถดาวน์โหลดแพ็คเกจได้แสดงว่าคุณพบปัญหานี้


0

1 - ใน build.gradle เปลี่ยน supportLibVersion ของฉันเป็น 26.0.0

2 - ในแอพ / build.gradle ใช้:

การใช้งาน "com.android.support:appcompat v7: $ {rootProject.ext.supportLibVersion}"

3 - ซีดี Android

4 - ./gradlew สะอาด

5 - ./gradlew รวบรวมปล่อย

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