Próbuję otworzyć istniejący projekt Androida w Android Studio i gradle nie może zbudować aplikacji bez błędu
Błąd Android Studio wciąż rzuca
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.
Mój kod w build.gradle Który może pomóc w zrozumieniu mojego problemu Moje zależności
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"
}
Proszę o pomoc w rozwiązaniu problemu
implementation
zcompile
Odpowiedzi:
Wymień
implementation
sięcompile
.compile
został niedawno wycofany i zastąpiony przezimplementation
lubapi
źródło
3.*.*
Przed użyciem „implementacji” upewnij się, że masz wersję Gradle lub wyższą.Otwórz plik Gradle na poziomie projektu w zależnościach:
dependencies{ classpath 'com.android.tools.build:gradle:3.1.2' }
Otwórz plik „gradle-wrapper.properties” i ustaw
distributionUrl
:distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
lub najnowsza wersja.
Zsynchronizuj projekt. Mam nadzieję, że to rozwiązuje twój problem.
źródło
Upewnij się, że dodajesz te zależności w android / app / build.gradle, a nie android / build.gradle
źródło
Aby móc korzystać, musisz używać przynajmniej Gradle 3.4 lub nowszego
implementation
. Nie zaleca się dalszego używania przestarzałej wersji,compile
ponieważ może to spowolnić czas kompilacji. Aby uzyskać więcej informacji, zobacz oficjalny przewodnik dla programistów Androida:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations
Aktualizacja:
compile
zostanie usunięta do końca 2018 roku, więc upewnij się, że używasz tylkoimplementation
teraz:źródło
implementation
lubcompile
? @InfiniteLoopszmień zastosuj wtyczkę: „java”, aby zastosować wtyczkę: „java-library”
java-library-plugin
źródło
To śmieszne, ale nadal chcę podzielić się swoim doświadczeniem na wypadek, gdyby ktoś wpadł w taką sytuację jak ja.
Sprawdź, czy zmieniłeś:
compileSdkVersion
->implementationSdkVersion
przez pomyłkęźródło
Twój kod
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs')
Zastąp go
dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs')
źródło
Jak wspomniano tutaj, https://stackoverflow.com/a/50941562/2186220 , użyj wtyczki gradle w wersji 3 lub nowszej podczas korzystania z „implementacji”.
Użyj również
google()
repozytorium wbuildscript
.buildscript { repositories { google() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' } }
Te zmiany powinny rozwiązać problem.
źródło
Wymień
implementation
sięclasspath
. To powinno działać.źródło
Przeniosłem się
implementation
do build.gradle na poziomie modułu z build.gradle na poziomie głównym. To rozwiązuje problem.źródło
Jeśli implementacja nie jest zdefiniowana, piszesz do niewłaściwego pliku. W Unity 2019+ poprawny plik to,
main template grandle
a nie niektóre inne.źródło