Постройте ошибки после обновления 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.

FolderStructure

Теперь перейдите в папку libs внутри папки app - build. (Если папка libs не существует, вы можете создать ее, щелкнув правой кнопкой мыши по папке приложения - выберите "Создать" - выберите "Каталог").

LibsFolder

Вставьте файл download.jar внутри папки libs. Щелкните правой кнопкой мыши на файле jar и в нижней части нажмите Добавить как библиотеку. Это позаботится о добавлении файлов реализации ('libs/library_name.jar') в build.gradle [Вам не нужно вручную вводить это в свой файл сборки].

AddAsLibrary

Все должно быть хорошо, как только вы выполните синхронизацию после выполнения вышеуказанного. Вот ссылка источника на это решение: 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'