Ich baue ein Beispielprojekt von Udacity. Dies hat bis jetzt gut funktioniert, aber nach dem Upgrade auf Android Studio 3.2.1 tritt der folgende Build-Fehler auf.
Gradle-Version: 4.6
Projektlink: 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
Wie kann ich es reparieren?
android
android-studio
android-gradle-plugin
android-build
jcenter
Sandeep Kakkar
quelle
quelle
classpath 'com.android.tools.build:gradle:2.2.3'
. Haben Sie versuchtclasspath 'com.android.tools.build:gradle:3.2.1'
oder die Abhängigkeiten aktualisiert? Verwenden Sie auchimplementation
anstelle voncompile
.Antworten:
Für Android Studio 3.2.1 Update
Fügen Sie einfach die
google()
Root-Ebene hinzubuild.gradle
buildscript { repositories { google() // <--here jcenter() } } allprojects { repositories { google() // <-- here jcenter() } }
und sehen Sie die Magie - Fehler ist weg.
quelle
jcenter()
und fügtegoogle()
danach hinzu , um den Fehler zu beheben.Die Projektversion
gradle
ist ziemlich alt:classpath 'com.android.tools.build:gradle:2.2.3'
Wenn Sie Android Studio v3.2.1 verwenden, aktualisieren Sie Folgendes
gradle
:classpath 'com.android.tools.build:gradle:3.2.0' // or 3.2.1 maybe
Wie Sie sehen können, wurde nach einigen Paketen gesucht 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
Das heißt, Sie haben wahrscheinlich vergessen,
google()
das Repository der obersten Ebene hinzuzufügen . Einfach hinzufügengoogle()
zu Ihren Repositories in Ihrer Wurzel
build.gradle
.quelle
Um dies zu lösen
Laden Sie zunächst die fehlende Jar-Datei über den unten stehenden Link herunter. Ich sehe, Sie vermissen 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
Wechseln Sie Ihre Ordnerstruktur von Android zu Project.
Navigieren Sie nun zum Ordner libs im Ordner app - build. (Wenn der libs-Ordner nicht vorhanden ist, können Sie ihn erstellen, indem Sie mit der rechten Maustaste auf den App-Ordner klicken - Neu auswählen - Verzeichnis auswählen.)
Fügen Sie die Datei downloaded.jar in den Ordner libs ein. Klicken Sie mit der rechten Maustaste auf die JAR-Datei und unten auf Als Bibliothek hinzufügen. Dadurch wird das Hinzufügen von Implementierungsdateien ('libs / library_name.jar') in build.gradle [Sie müssen dies nicht manuell in Ihre Build-Datei eingeben] übernommen.
Nach dem Synchronisieren sollte nach dem Ausführen der obigen Schritte alles in Ordnung sein. Hier ist der Quelllink zu dieser Lösung: https://developer.android.com/studio/command-line/aapt2#download_aapt2
Lassen Sie mich wissen, wenn Sie dabei auf andere Probleme stoßen.
quelle
Ja, wie d4rkcon sagte Download https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar Aber Sie können es einfacher machen - legen Sie diese Datei einfach in ein Verzeichnis, in dem Andoid Studio versucht, sie zu finden. Wenn Sie keine Verzeichnisse wie /tools/build/aapt2/3.2.1-4818971/ im AndroidSDK-Ordner haben, erstellen Sie diese einfach und fügen Sie die Datei aapt2-3.2.1-4818971-windows.jar ein.
quelle
Fügen Sie ein Google-Repository in Ihr build.gradle ein (Projekt: xxxxx)
allprojects { repositories { google() } }
quelle
Gradle-Cache löschen
rm -rf $HOME/.gradle/caches/
und erneut synchronisieren, um alle Abhängigkeiten herunterzuladen
quelle
Ändern Sie Ihr build.gradle wie folgt.
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' }
quelle
Fügen Sie google () zu Ihrem Build-Skript hinzu> Repositorys. Fügen Sie Google zu allprojects hinzu.> Repositorys
Verwenden Sie die Implementierung als Ersatz für das Schlüsselwort compile, auch in Ihrem Dateibaum.
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'
quelle
Für Android Studio 3.6.3 Update: Durch einfaches Hinzufügen eines Google Maven-Tags in Buildscript und aller Projekt-Repositorys in der Datei build.gradle der Projektdatei wird das Problem behoben.
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 }
quelle
maven {}
Konfigurationen?