ไม่พบ com.android.tools.build:aapt2:3.2.0


106

AndroidStudio3.2 Canary14 ล้มเหลวในการล้างและสร้างใหม่โดยมีข้อผิดพลาดต่อไปนี้

Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.
Searched in the following locations:
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
Required by:
    project :app

คำตอบ:


241

เริ่มต้นด้วย Android Studio 3.2 Canary 11 แหล่งที่มาของ AAPT2 (Android Asset Packaging Tool 2) คือที่เก็บ Maven ของ Google

ในการใช้ AAPT2 ตรวจสอบให้แน่ใจว่าคุณมี google () dependency ในไฟล์ build.gradle ดังที่แสดงไว้ที่นี่:

buildscript {
  repositories {
      google() // here
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.2.0-alpha12'
  }
} 
allprojects {
  repositories {
      google() // and here
      jcenter()
  }
}

AAPT2 เวอร์ชันใหม่สามารถแก้ไขปัญหาต่างๆได้รวมถึงการปรับปรุงการจัดการอักขระที่ไม่ใช่ ASCII บน Windows

การเพิ่มที่เก็บในbuildscriptนั้นไม่เพียงพอคุณต้องเพิ่มที่เก็บallprojectsด้วย

ที่มา: https://developer.android.com/studio/releases/#aapt2_gmaven


30
สิ่งนี้แก้ไขให้ฉัน - ฉันมีgoogle()ในbuildscriptrepos แต่ไม่ได้อยู่ในallprojectsrepos มีภาระผูกพันมาก
LarsH

1
ขอบคุณ! มันเป็นวิธีแก้ไขง่ายๆ ทำให้เกิดคำถามว่าเหตุใดข้อความแสดงข้อผิดพลาดจึงต้องเป็นความลับขนาดนั้นจึงไม่รวมการดำเนินการที่แนะนำโดยค่าเริ่มต้น
Antony

3
คำตอบของLarsHช่วยได้อีกประเด็นหนึ่งคือ google () ควรอยู่เหนือผู้อื่นด้วย สั่งซื้อยังมีความสำคัญที่นี่
Reejesh PK

เป็นไปได้ไหมที่จะสร้างโครงการโดยไม่ต้องgoogle()พึ่งพา?
white_gecko

คุณสามารถดาวน์โหลดสิ่งประดิษฐ์จาก maven และใส่ลงในที่เก็บออฟไลน์ของคุณได้หากคุณต้องการจริงๆ
Izabela Orlowska

42

คุณกำลังเปิดโครงการเก่ามากหรือไม่? ในกรณีนี้ตรวจสอบให้แน่ใจว่า build.gradle ของแอปของคุณมี:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(ที่แก้ไขให้ฉันยังไงก็ตาม)


ส่วนที่สำคัญคือการพึ่งพาที่เก็บ "google ()"
Izabela Orlowska

11
สำหรับฉันมันเป็นคำสั่ง ฉันมีgoogle()แต่มันอยู่ในรายชื่อ repos การย้ายไปไว้ด้านบนของรายการ repos ช่วยแก้ปัญหาได้
Ezekiel Sebastine

สิ่งนี้ควรได้รับการยอมรับ ... (สำหรับการเปิดโครงการเก่าอย่างน้อย) ... ที่เก็บคีย์คือ google () และสามารถวางไว้ใน build.gradle ของแอพหรือมากกว่าใน build.gradle ของโปรเจ็กต์ภายใต้ allprojects> ที่เก็บโดยที่ jcenter () มักจะเป็น
LukášŘádek

19

เพียงแค่เพิ่ม google() buidscript และโครงการทั้งหมดของคุณจากนั้นสร้างโครงการใหม่

buildscript {
    repositories {
        google() // `enter code here`
    }
 }

allprojects {
    repositories {
        google() // `<-- here`
    }
}

ขอขอบคุณสำหรับความช่วยเหลือ. การเพิ่มโครงการทั้งหมดช่วยแก้ปัญหาได้
Haris Durrani

5

อัปเดตการอ้างอิงไฟล์ build.grade ของแอปด้วยเกรดเวอร์ชันอัปเดต

dependencies {    
  classpath 'com.android.tools.build:gradle:3.5.3'   
}

ทำตามคำแนะนำของสตูดิโอ Androidของของเวอร์ชันที่จะอัปเดต หลังจากอัปเดต classpath เกรดของคุณและซิงค์แอปของคุณอีกครั้ง

หลังจากนี้เริ่มต้นใหม่ในสตูดิโอของคุณหุ่นยนต์


4

ฉันมีข้อความแสดงข้อผิดพลาดนี้:

ไม่สามารถดาวน์โหลด aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): ไม่มีเวอร์ชันแคชสำหรับโหมดออฟไลน์

แม้ว่าฉันจะกำหนดการอ้างอิงที่จำเป็นทั้งหมดสำหรับ proyect ของฉันและการกำหนดค่าที่ถูกต้องใน build.gradle ของฉัน:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

ข้อผิดพลาดยังคงเกิดขึ้น แต่ข้อความนี้ให้เบาะแสว่าเกิดอะไรขึ้น:

ไม่มีเวอร์ชันแคชสำหรับโหมดออฟไลน์

ดังนั้นฉันจึงค้นพบว่าฉันทำงานแบบออฟไลน์คุณต้องยกเลิกการเลือก "โหมดออฟไลน์" จากนั้น Android Studio จะสามารถดาวน์โหลดทรัพยากรที่จำเป็นเพื่อสร้างโครงการได้

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

เมื่อโครงการของคุณทำงานอีกครั้งคุณสามารถตรวจสอบอีกครั้งเพื่อทำงานนอกระบบ


1
เป๊ะ !! ขอบคุณ.
แฮช

3

ฉันต้องการแก้ไขปัญหานี้โดยการเปลี่ยน "distributionUrl" android/gradle/gradle-wrapper.propertiesใน

ค่าเริ่มต้นคือhttps\://services.gradle.org/distributions/gradle-4.10.2-all.zipและฉันเปลี่ยนเป็นhttps\://services.gradle.org/distributions/gradle-5.4.1-all.zipและข้อผิดพลาดก็หายไป


3

ฉันอยู่ในอิหร่านและที่เก็บของ Google ถูก จำกัด ในตำแหน่งของฉัน เมื่อฉันเปลี่ยน IP เป็นประเทศอื่นปัญหานี้ได้รับการแก้ไข ดูเหมือนว่าคุณอาจมีปัญหาในการเชื่อมต่ออินเทอร์เน็ตเมื่อเกิดข้อผิดพลาดนี้


ที่จริงฉันใช้ vpn แต่ปัญหายังคงเตือนและฉันไม่สามารถเรียกใช้โครงการได้!
นาเดีย

1
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()  //导入旧版本项目时,一般来说该处依赖会在更改classpath中gradle版本是自动添加
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
       /*
        解决报错:Could not find com.android.tools.build:aapt2:3.3.0-5013011.
        Beginning with Android Studio 3.2 Canary 11, the source for AAPT2 (Android Asset Packaging Tool 2) is Google's Maven repository.
        To use AAPT2, make sure that you have a google() dependency in your build.gradle file, as shown here:
        */
        google() //但是此处不会,需要自主添加
        jcenter()
    }
}


0

การแก้ปัญหาเป็นกระบวนการสี่ขั้นตอน

  1. เปลี่ยน classpath ใน build.gradle เป็นเวอร์ชันที่ต้องการ
  2. ซิงค์เดี๋ยวนี้
  3. หลังจากดาวน์โหลดไฟล์ทั้งหมดแล้วคุณสามารถลบไฟล์ใหม่และเพิ่มเวอร์ชันก่อนหน้าใน Gradle
  4. ซิงค์เดี๋ยวนี้

0

ในกรณีของฉันฉันสามารถแก้ไขได้โดยการอัปเดต "Android SDK Build-Tools" เป็นเวอร์ชันล่าสุด

ใน Android studio ให้ไปที่ Goto Tools -> SDK Manager -> เลือกแท็บ SDK tools -> ตรวจสอบว่ามีการอัปเดตใด ๆ สำหรับ Android SDK Build - Tools (อัปเดตเป็นเวอร์ชันล่าสุด v30.0.0) หรือไม่

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


-1

คุณต้องเทปใน: build.gradle () และพิมพ์ google () และตัวเลือกนี้จะทำในส่วน buildscript & allproject


1
นี่เป็นความคิดเห็นมากกว่าคำตอบ
sudo97

-2

ถ้า google () ไม่ได้แก้ไขแล้ว File -> Setting -> Build, Execution, Deployment -> Gradle

จากนั้นยกเลิกการเลือกออฟไลน์งานเสร็จสิ้น

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