Sem novinec v razvoju aplikacij za Android. Ko sem poskušal ustvariti nov projekt,Android Project...se je pojavilo naslednje sporočilo..
Napaka:Izvedba ni uspela za nalogo ':app:preDebugAndroidTestBuild'.
Conflict with dependency 'com.android.support:support-annotations' v projektu ':app'. Rešene različice za aplikacijo (26.1.0) in testno aplikacijo (27.1.1) se razlikujejo. Za podrobnosti glejte https://d.android.com/r/tools/test-apk-dependency-conflicts.html. Informacije:Gradle naloge [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]
To je posnetek zaslona mojega projekta kliknite tukaj za ogled posnetka napake, ki sem jo dobil
To kodo sem poskusil dodati tudi v svojo odvisnost.. androidTestCompile 'com.android.support:support-annotations:23.3.0' to se ni obneslo. Poskusil sem tudi s 27.1.1 in 26.1.0.. tudi to ni delovalo.
Na podlagi vašega posnetka zaslona sem našel dve delujoči rešitvi:
Prva rešitev: v odvisnosti modula gradle dodajte to vrstico
compile 'com.android.support:support-annotations:27.1.1'
in sinhronizirajte svoj projekt
Note: če uporabljate Android studio 3+, spremenite compile
v implementation
Druga rešitev: Nastavite lastnosti celotnega projekta, ki jih najdete v dokumentaciji https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties
v projekt gradle dodajte to vrstico:
// This block encapsulates custom properties and makes them available to all
// modules in the project.
ext {
// The following are only a few examples of the types of properties you can define.
compileSdkVersion = 26
// You can also use this to specify versions for dependencies. Having consistent
// versions between modules can avoid behavior conflicts.
supportLibVersion = "27.1.1"
}
Nato za dostop do tega razdelka spremenite vrstico compileSdkVersion
na
compileSdkVersion rootProject.ext.compileSdkVersion
in v razdelku odvisnosti
spremenite uvoženo knjižnico, da bo takšna:
compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
in sinhronizirajte svoj projekt
Note: če uporabljate Android studio 3+, spremenite compile
v implementation
Za razliko med compile
in implementation
si oglejte tole
https://stackoverflow.com/questions/44493378/whats-the-difference-between-implementation-and-compile-in-gradle
To je posledica navzkrižja različic, ki ga lahko rešite tako, da prisilno posodobite različico support-annotations in v modul dodate to vrstico: app gradle
implementation ('com.android.support:support-annotations:27.1.1')
Upam, da bo to rešilo vašo težavo ;)
Edit
Skoraj sem pozabil, lahko razglasite eno dodatno lastnost (https://docs.gradle.org/current/userguide/writing_build_scripts.html#sec:extra_properties) za različico, pojdite v datoteko gradle vašega projekta (ali vašega vrha) in razglasite svojo podporo ali samo za ta primer anotacijo version var
ext.annotation_version = "27.1.1"
Nato jo v svojem modulu gradle zamenjajte z:
implementation ("com.android.support:support-annotations:$annotation_version")
To je zelo podobno rešitvi @emadabel, ki je dobra alternativa za to, vendar brez bloka ali predpone rootproject
.