Ich versuche, ein bestehendes Android Projekt in Android Studio zu öffnen und es kann gradle die App nicht ohne den Fehler erstellen
Fehler Android Studio wirft weiter
Error:(74, 1) A problem occurred evaluating project ':app'.
> Could not find method implementation() for arguments
[com.Android.support:appcompat-v7:26.0.0] on object of type
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Mein Code in build.gradle Was helfen kann, mein Problem zu verstehen Meine Abhängigkeiten
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
// google & support
implementation "com.Android.support:appcompat-v7:$supportVersion"
implementation "com.Android.support:cardview-v7:$supportVersion"
implementation "com.Android.support:recyclerview-v7:$supportVersion"
implementation "com.Android.support:design:$supportVersion"
implementation "com.Android.support:palette-v7:$supportVersion"
implementation "com.Android.support:customtabs:$supportVersion"
implementation "com.Android.support:support-v4:$supportVersion"
implementation 'com.google.Android.exoplayer:exoplayer:r2.0.4'
// utils
implementation 'com.github.bumptech.glide:glide:4.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
implementation 'com.koushikdutta.ion:ion:2.1.7'
implementation 'com.github.Commit451:bypasses:1.0.4'
implementation 'com.jakewharton:butterknife:8.8.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
implementation 'com.drewnoakes:metadata-extractor:2.9.1'
implementation "com.orhanobut:hawk:2.0.1"
}
Bitte helfen Sie, das Problem zu lösen
Ersetzen Sie compile
durch implementation
.
compile
wurde kürzlich veraltet und durch implementation
oder api
ersetzt
Stellen Sie sicher, dass Ihre Gradle-Version 3 .. oder höher ist, bevor Sie "Implementierung" verwenden.
Öffnen Sie die gradle-Datei auf Projektebene unter Abhängigkeiten
dependencies{
classpath 'com.Android.tools.build:gradle:3.1.2'
}
open-Gradle-Wrapper-Eigenschaften verwenden Distributions-URL als
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip
oder neueste version
synk-Projekt, hoffe, dies hat Ihr Problem gelöst
Sie müssen mindestens Gradle 3.4 oder neuer verwenden, um implementation
verwenden zu können. Es wird nicht empfohlen, weiterhin das veraltete compile
zu verwenden, da dies zu langsameren Erstellungszeiten führen kann. Weitere Informationen finden Sie im offiziellen Android Entwicklerhandbuch:
Wenn Ihr Modul eine Implementierungsabhängigkeit konfiguriert, teilt es Gradle mit, dass das Modul die Abhängigkeit zur Kompilierungszeit nicht an andere Module verlieren möchte. Das heißt, die Abhängigkeit steht anderen Modulen nur zur Laufzeit zur Verfügung. Die Verwendung dieser Abhängigkeitskonfiguration anstelle von API oder Kompilierung kann zu erheblichen Verbesserungen der Erstellungszeit führen, da weniger Projekte vom Erstellungssystem neu kompiliert werden müssen. Wenn beispielsweise eine Implementierungsabhängigkeit ihre API ändert, kompiliert Gradle nur diese Abhängigkeit und die Module, die direkt davon abhängen. Die meisten App- und Testmodule sollten diese Konfiguration verwenden.
https://developer.Android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations
Update: compile
wird bis Ende 2018 entfernt, stellen Sie also sicher, dass Sie jetzt nur implementation
verwenden:
Warnung: Die Konfiguration "Kompilieren" ist veraltet und wurde durch "Implementierung" ersetzt. Es wird Ende 2018 entfernt
ändere Apply Plugin: 'Java' um Plugin anzuwenden: 'Java-Bibliothek'
Dein Code
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
Ersetzen Sie es durch
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
So lächerlich, aber ich möchte trotzdem meine Erfahrungen mitteilen, falls jemand in die Situation wie ich gerät.
Bitte überprüfen Sie, ob Sie geändert haben: compileSdkVersion
-> implementationSdkVersion
aus Versehen
Wie hier erwähnt: https://stackoverflow.com/a/50941562/218622 Verwenden Sie Gradle Plugin Version 3 oder höher, während Sie "Implementierung" verwenden.
Verwenden Sie auch das Repository google()
in buildscript
.
buildscript {
repositories {
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.2'
}
}
Diese Änderungen sollten das Problem lösen.