Tidak dapat menemukan com.android.tools.build:aapt2:3.2.0

105

AndroidStudio3.2 Canary14 gagal melakukan pembersihan dan rekondisi dengan kesalahan berikut

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
Arunabh Das
sumber

Jawaban:

239

Dimulai dengan Android Studio 3.2 Canary 11, sumber untuk AAPT2 (Android Asset Packaging Tool 2) adalah repositori Maven Google.

Untuk menggunakan AAPT2, pastikan Anda memiliki ketergantungan google () dalam file build.gradle Anda, seperti yang ditunjukkan di sini:

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

Versi baru AAPT2 memperbaiki banyak masalah, termasuk penanganan karakter non-ASCII yang lebih baik di Windows.

Menambahkan repositori di dalam buildscripttidak cukup, Anda perlu menambahkannya juga di allprojects.

Sumber: https://developer.android.com/studio/releases/#aapt2_gmaven

Izabela Orlowska
sumber
30
Ini memperbaikinya untuk saya - saya ada google()di buildscriptrepo tetapi tidak di allprojectsrepo. Terima kasih banyak.
LarsH
1
Terima kasih! ini adalah perbaikan yang sederhana. Ini menimbulkan pertanyaan mengapa pesan kesalahan harus begitu samar sehingga tindakan yang disarankan tidak disertakan secara default
Antony
3
Jawaban LarsH membantu, satu hal lagi adalah bahwa google () harus hadir di atas yang lain juga. Pesan juga Penting di sini.
Reejesh PK
Apakah mungkin juga untuk membangun proyek tanpa google()ketergantungan?
white_gecko
Anda dapat mengunduh artefak dari maven dan memasukkannya ke dalam repositori offline Anda jika Anda benar-benar menginginkannya
Izabela Orlowska
41

Apakah Anda membuka proyek yang sangat tua? Jika demikian, pastikan build.gradle aplikasi Anda memiliki:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(Lagipula itu menyelesaikannya untuk saya)

Pico
sumber
Bagian penting adalah ketergantungan repositori "google ()".
Izabela Orlowska
11
Bagi saya itu adalah urutannya. Saya punya google()tetapi itu ada di daftar repo. Memindahkannya ke atas daftar repo memperbaiki masalah.
Ezekiel Sebastine
ini harus diterima ... (setidaknya untuk membuka proyek lama) ... repositori kuncinya adalah google () dan dapat ditempatkan baik ke build.gradle aplikasi atau lebih tepatnya di build.gradle proyek di bawah allprojects> repositories, di mana jcenter () biasanya sudah
Lukáš Řádek
19

Cukup tambahkan google()buidscript Anda dan semua proyek kemudian bangun kembali proyek tersebut.

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

allprojects {
    repositories {
        google() // `<-- here`
    }
}
fMadTech
sumber
Terima kasih atas bantuannya. Menambahkan semua proyek memecahkan masalah
Haris Durrani
5

Perbarui ketergantungan file build.grade aplikasi Anda dengan versi grade yang diperbarui

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

Ikuti saran studio android dari versi yang akan diperbarui. setelah grade classpath memperbarui dan menyinkronkan ulang aplikasi Anda.

Setelah semua ini restart studio android Anda .

Samson Ayalew
sumber
3

Saya mengatasi masalah ini dengan mengubah "distributionUrl" di android/gradle/gradle-wrapper.properties.

Nilai defaultnya adalah https\://services.gradle.org/distributions/gradle-4.10.2-all.zipdan saya mengubahnya menjadi https\://services.gradle.org/distributions/gradle-5.4.1-all.zipdan kesalahannya hilang.

Amir Ajorloo
sumber
3

Saya mendapat pesan kesalahan ini:

Tidak dapat mengunduh aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): Tidak ada versi cache yang tersedia untuk mode offline

Meskipun saya telah menentukan semua dependensi yang diperlukan untuk proyect saya, dan konfigurasi yang tepat ke build.gradle saya:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

Kesalahan masih terjadi, tetapi pesan ini memberi saya petunjuk tentang apa yang terjadi:

Tidak ada versi cache yang tersedia untuk mode offline

Jadi saya menemukan bahwa saya sedang bekerja offline, Anda perlu menghapus centang "mode offline" maka Android Studio akan dapat mengunduh sumber daya yang diperlukan untuk membuat proyek .

masukkan deskripsi gambar di sini

Ketika proyek Anda berfungsi kembali, Anda dapat memeriksa kembali untuk bekerja secara offline.

Jorgesys
sumber
3

Saya di Iran, dan penyimpanan google dibatasi di lokasi saya. Ketika saya mengubah IP saya ke negara lain, masalah ini terpecahkan. Sepertinya Anda mungkin mengalami masalah koneksi internet saat kesalahan ini terjadi.

AliSh
sumber
sebenarnya saya menggunakan vpn tetapi masalahnya masih mengingatkan dan saya tidak dapat menjalankan proyek!
Nadia
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()
    }
}
林 嗳 莫
sumber
0

Solusinya adalah proses empat langkah,

  1. ubah classpath di build.gradle ke versi yang diinginkan.
  2. Sinkronkan Sekarang
  3. Setelah mendownload semua file, Anda dapat menghapus yang baru dan menambahkan versi sebelumnya di Gradle.
  4. Sinkronkan Sekarang
hanif s
sumber
0

Dalam kasus saya, saya dapat mengatasinya dengan memperbarui "Android SDK Build-Tools" ke versi terbaru.

Di studio Android, Goto Tools -> SDK Manager -> Pilih tab tools SDK -> periksa apakah ada pembaruan yang tersedia untuk Android SDK Build - Tools (diperbarui ke v30.0.0 terbaru).

masukkan deskripsi gambar di sini

Narshim
sumber
-1

Anda perlu merekam di: build.gradle () dan ketik google () dan opsi ini melakukannya di bagian buildscript & allproject

DonMoh
sumber
1
ini lebih merupakan komentar daripada jawaban
sudo97
-2

jika google () tidak diperbaiki maka File -> Setting -> Build, Execution, Deployment -> Gradle

Kemudian Hapus centang Ofline Work, Selesai.

Saljith Kj
sumber