Не удалось найти 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) является репозиторий Google Maven.

Чтобы использовать AAPT2, убедитесь, что у вас есть зависимость google () в вашем файле 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()в 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> repositories, где jcenter () обычно уже есть
Лукаш Жадек

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'   
}

Следуйте предложению студии Android о версии для обновления. после обновления пути к классу и повторно синхронизируйте приложение.

После всего этого перезапустите вашу студию Android .


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 Studio перейдите в Инструменты -> Диспетчер SDK -> Выберите вкладку Инструменты SDK -> проверьте, доступно ли какое-либо обновление для Android SDK Build - Инструменты (обновлено до последней версии 30.0.0).

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


-1

вам нужно записать: build.gradle () и ввести google (), и этот параметр сделает это в разделе buildscript и allproject


1
это больше комментарий, чем ответ
sudo97

-2

если google () не исправлен, то File -> Setting -> Build, Execution, Deployment -> Gradle

Затем снимите флажок "Офлайн-работа", "Готово".

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.