Build errors after Android Studio 3.2.1 upgrade

AndroidAndroid StudioAndroid Gradle-PluginAndroid BuildJcenter

Android Problem Overview


I am building a sample project from Udacity. This was working fine till now, but after upgrading to Android Studio 3.2.1, I am facing the build error below.

Gradle version: 4.6

Project link: 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

How can I fix it?

Android Solutions


Solution 1 - Android

For Android Studio 3.2.1 update

Just add google() in root level build.gradle
buildscript {
    repositories {
        google()   //  <--here
        jcenter()
    }
 }

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

and see the magic - error is gone.

Solution 2 - Android

The project gradle version is pretty old:

classpath 'com.android.tools.build:gradle:2.2.3'

And you are using Android Studio v3.2.1 so, update the gradle:

classpath 'com.android.tools.build:gradle:3.2.0' // or 3.2.1 maybe

Also, as you can see, it was looking for some packages in :

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

Which means you probably forgot to add google() as the top level repository. Just add google()

to your repositories in your root build.gradle.

Solution 3 - Android

To get this solved

Firstly download the missing Jar file from the link below. I see you are missing version 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

Switch your folder structure from Android to Project.

FolderStructure

Now navigate to the libs folder inside the app - build folder. (If the libs folder does not exist, you can create it by right clicking on the app folder - select New - select Directory.)

LibsFolder

Paste the downloaded.jar file inside libs folder. Right click on the jar file and at the bottom click on Add as library. This will take care of adding implementation files('libs/library_name.jar') in build.gradle [You don't have to manually enter this in your build file].

AddAsLibrary

Everything should be okay once you sync after doing the above. Here is the source link to this solution: https://developer.android.com/studio/command-line/aapt2#download_aapt2

Let me know if you run into any other issues whilst doing the above.

Solution 4 - Android

Yeah, as d4rkcon said download https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar But you can do simplier - just put this file in directory where Andoid Studio is trying to find it. If you don't have directories like /tools/build/aapt2/3.2.1-4818971/ in AndroidSDK folder just create them and then put aapt2-3.2.1-4818971-windows.jar file in.

Solution 5 - Android

Add Google repository in your build.gradle(Project:xxxxx)

allprojects {
    repositories {
        google()
    }
}

Solution 6 - Android

clear gradle cache

rm -rf $HOME/.gradle/caches/

and resync to download all dependencies

Solution 7 - Android

Change your build.gradle as follows.

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

Solution 8 - Android

add google() on your build script > repositories add google on allprojects > repositories

use implementation as replacement of compile keyword, also on your 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'

Solution 9 - Android

For Android Studio 3.6.3 update : just adding google maven tag in buildscript and all projects repositories in build.gradle file of project file solves the issue.

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.3'

    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionsandeep kakkarView Question on Stackoverflow
Solution 1 - AndroidNikunj ParadvaView Answer on Stackoverflow
Solution 2 - Androidʍѳђઽ૯ทView Answer on Stackoverflow
Solution 3 - Androidd4rkconView Answer on Stackoverflow
Solution 4 - AndroidAlesha170View Answer on Stackoverflow
Solution 5 - AndroidJim LinView Answer on Stackoverflow
Solution 6 - AndroidHamid ZandiView Answer on Stackoverflow
Solution 7 - AndroidAbdullah AlialdinView Answer on Stackoverflow
Solution 8 - AndroidfMadTechView Answer on Stackoverflow
Solution 9 - AndroidAbeniView Answer on Stackoverflow