Постройте ошибки после обновления Android Studio 3.2.1
Я создаю образец проекта из Udacity. Это работало нормально до сих пор, но после обновления до Android Studio 3.2.1 я столкнулся с ошибкой сборки ниже.
Версия для эргономики: 4.6
Ссылка проекта: https://github.com/udacity/ud851-Sunshine/tree/student/S02.02-Solution-Menus
Could not find com.android.tools.build:aapt2:3.2.1-4818971**. Searched in the following locations:
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar Required by:
project :app
Как я могу это исправить?
Ответы
Ответ 1
Для Android Studio 3.2.1 обновление
Просто добавьте google()
в корневой уровень build.gradle
buildscript {
repositories {
google() // <--here
jcenter()
}
}
allprojects {
repositories {
google() // <-- here
jcenter()
}
}
и увидим магию - ошибка ушла.
Ответ 2
Версия gradle
проекта довольно старая:
classpath 'com.android.tools.build:gradle:2.2.3'
И вы используете Android Studio v3.2.1, так что обновите gradle
:
classpath 'com.android.tools.build:gradle:3.2.0' // or 3.2.1 maybe
Кроме того, как вы можете видеть, он искал некоторые пакеты в:
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
Это означает, что вы, вероятно, забыли добавить google()
в качестве репозитория верхнего уровня. Просто добавьте google()
к вашим репозиториям в вашем корневом build.gradle
.
Ответ 3
Чтобы решить эту проблему
Сначала загрузите отсутствующий файл Jar по ссылке ниже. Я вижу, что вам не хватает версии 3.2.1-4818971
https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
Переключите структуру папок с Android на Project.
Теперь перейдите в папку libs внутри папки app - build. (Если папка libs не существует, вы можете создать ее, щелкнув правой кнопкой мыши по папке приложения - выберите "Создать" - выберите "Каталог").
Вставьте файл download.jar внутри папки libs. Щелкните правой кнопкой мыши на файле jar и в нижней части нажмите Добавить как библиотеку. Это позаботится о добавлении файлов реализации ('libs/library_name.jar') в build.gradle [Вам не нужно вручную вводить это в свой файл сборки].
Все должно быть хорошо, как только вы выполните синхронизацию после выполнения вышеуказанного. Вот ссылка источника на это решение: https://developer.android.com/studio/command-line/aapt2#download_aapt2
Дайте мне знать, если вы столкнетесь с какими-либо другими проблемами при выполнении вышеуказанного.
Ответ 4
Да, как сказал d4rkcon, скачайте https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar. Но вы можете сделать проще - просто поместите этот файл в каталог, где Andoid Studio пытается его найти. Если у вас нет каталогов, таких как /tools/build/aapt2/3.2.1-4818971/в папке AndroidSDK, просто создайте их, а затем вставьте файл aapt2-3.2.1-4818971-windows.jar.
Ответ 5
Добавьте репозиторий Google в свой build.gradle(Project: xxxxx)
allprojects {
repositories {
google()
}
}
Ответ 6
Измените файл build.gradle следующим образом.
android {
compileSdkVersion 26
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "your package name here"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:appcompat-v7:26.1.0'
}
Ответ 7
добавить google() в скрипт сборки> репозитории добавить google на allprojects> репозитории
использовать реализацию в качестве замены ключевого слова компиляции, а также в файле filetree.
EX.
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support:design:25.3.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:support-v4:25.3.1'