Не вдалося знайти com.android.tools.build:aapt2:3.2.0


105

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

Відповіді:


239

Починаючи з Android Studio 3.2 Canary 11, джерелом для AAPT2 (Android Asset Packaging Tool 2) є сховище Maven Google.

Щоб використовувати AAPT2, переконайтеся, що у файлі build.gradle є залежність від google (), як показано тут:

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()в buildscriptоперації РЕПО , але не в allprojectsРЕПО. Дуже вдячний.
LarsH

1
Дякую! це таке просте виправлення. Він задає питання, чому повідомлення про помилку має бути настільки виразним, що рекомендована дія не була включена за замовчуванням
Антоній

3
Відповідь LarsH допомогла, ще один момент полягає в тому, що google () має бути присутнім і над іншими. Замовити також питання тут.
Reejesh PK

Чи можливо також побудувати проект без google()залежності?
white_gecko

Ви можете завантажити артефакт з Maven і помістити його у своє офлайн-сховище, якщо дуже хотіли
Ізабела Орловська

41

Ви відкриваєте дуже старий проект? Якщо так, переконайтеся, що в build.gradle програми є:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(Це вирішило це для мене все одно)


Важлива частина - залежність сховища "google ()".
Ізабела Орловська

11
Для мене це був наказ. Я мав, google()але це було в списку репостів. Перемістивши його на вершині списку репостів, виправили цю проблему.
Єзекіїль Себастін

це слід прийняти ... (принаймні для відкриття старих проектів) ... ключовим сховищем був google (), і він може бути розміщений або в додатку build.gradle, або, скоріше, у build.gradle проекту під allprojects> сховищами, де jcenter () зазвичай вже є
Лукаш deádek

19

Просто додайте google()свій будскрипт і всі проекти, а потім відновіть проект.

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

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

Дякую за допомогу. Додавання всіх проектів вирішило проблему
Харіс

5

Оновіть залежність файлу build.grade програми за допомогою оновленої версії класу

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

Дотримуйтесь пропозицій андроїд-студії щодо оновлення версії. після оновлення уроку класу та оновлення додатка повторно.

Після цього перезапустіть свою андроїд-студію .


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

У мене було таке повідомлення про помилку:

Не вдалося завантажити aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): не доступна кешована версія для офлайн-режиму

Навіть якби я визначив усі необхідні залежності для мого проекту та правильну конфігурацію в моєму build.gradle:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

Помилка все ще трапляється, але це повідомлення дало мені зрозуміти, що відбувається:

Не доступна кешована версія в режимі офлайн

Тож я виявив, що працюю в режимі офлайн, потрібно зняти прапорець "офлайн-режим", тоді Android Studio зможе завантажити необхідні ресурси для створення проекту .

введіть тут опис зображення

Коли ваш проект знову запрацює, ви можете перевірити його ще раз.


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. змінити класний шлях у build.gradle на потрібну версію.
  2. Синхронізувати зараз
  3. Після завантаження всіх файлів ви можете видалити нову та додати попередню версію в Gradle.
  4. Синхронізувати зараз

0

У моєму випадку мені вдалося вирішити це, оновивши "Android SDK Build-Tools" до останньої версії.

У студії Android Goto Tools -> SDK Manager -> Виберіть вкладку інструментів SDK -> перевірте, чи доступне оновлення для Android SDK Build - Tools (оновлено до останньої версії 30.0.0).

введіть тут опис зображення


-1

вам потрібно скопіювати стрічку в: build.gradle () і ввести google (), і цей параметр зробити це в розділі buildscript & allproject


1
це скоріше коментар, ніж відповідь
sudo97

-2

якщо google () не зафіксовано, то Файл -> Налаштування -> Збірка, Виконання, Розгортання -> Gradle

Потім зніміть прапорець Офлайн робота, Готово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.