studio - set a toolbar android




Tutte le librerie com.android.support devono utilizzare la stessa specifica di versione (20)

Molto semplice con la nuova versione di Android Studio 3.x.

Basta copiare la versione che è inferiore alla versione corrente e aggiungerla esplicitamente con lo stesso numero di versione della versione corrente.

Esempio

Trovate versioni 27.1.1, 27.1.0. Gli esempi includono com.android.support:animated-vector-drawable:27.1.1 e com.android.support:exifinterface:27.1.0

Basta copiare la versione com.android.support:exifinterface:27.1.0 e cambiarla in com.android.support:exifinterface:27.1.1 modo che diventi uguale alla versione corrente in uso e aggiungerla alle dipendenze del gradle come segue.

implementation 'com.android.support:exifinterface:27.1.1'

Nota: una volta terminato, non dimenticare di fare clic su Sincronizza ora nella parte superiore dell'editor.

Dopo l'aggiornamento ad Android Studio 2.3 ho ricevuto questo messaggio di errore. So che è solo un suggerimento poiché l'app funziona normalmente ma è davvero strana.

Tutte le librerie com.android.support devono utilizzare esattamente le stesse specifiche di versione (il mix delle versioni può causare arresti anomali del runtime). Trovate versioni 25.1.1, 24.0.0. Gli esempi includono com.android.support:animated-vector-drawable:25.1.1 e com.android.support:mediarouter-v7:24.0.0

il mio voto:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support:support-v4:25.1.1'
    compile 'com.android.support:design:25.1.1'
    compile 'com.android.support:recyclerview-v7:25.1.1'
    compile 'com.android.support:cardview-v7:25.1.1'
    compile 'com.google.android.gms:play-services-maps:10.2.0'
    compile 'com.google.android.gms:play-services:10.2.0'

    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    compile 'com.blankj:utilcode:1.3.6'
    compile 'com.orhanobut:logger:1.15'
    compile 'com.facebook.stetho:stetho:1.4.2'

    provided 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'

    compile 'com.mikepenz:iconics-core:[email protected]'
    compile('com.mikepenz:materialdrawer:[email protected]') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:[email protected]'
    compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
    compile 'com.github.GrenderG:Toasty:1.1.1'
    compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
    compile 'com.github.MAXDeliveryNG:slideview:1.0.0'

    compile 'com.facebook.fresco:fresco:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'

    compile 'com.google.maps.android:android-maps-utils:0.4.4'
    compile 'com.github.jd-alexander:library:1.1.0'
}

Per tutti i casi, non solo per queste versioni o librerie:

Presta attenzione alla piccola finestra informativa che dice qualcosa sull'errore, dice gli esempi che devi modificare e aggiungere .

In questo caso:

Trovate versioni 25.1.1, 24.0.0. Gli esempi includono com.android.support:animated-vector-drawable:25.1.1 e com.android.support:mediarouter-v7:24.0.0

Il tuo

com.android.support:animated-vector-drawable:25.1.1

è la versione 25.1.1 e la tua

com.android.support:mediarouter-v7:24.0.0

è la versione 24.0.0 , quindi è necessario aggiungere il mediarouter con la stessa versione:

com.android.support:mediarouter-v7:25.1.1

E lo fa per ogni esempio che dice la piccola finestra informativa, in questo caso tutte le librerie che non hanno la versione 25.1.1.

Devi sincronizzare il gradle dopo aver corretto la libreria indicata per vedere la libreria e il pacchetto successivi che devi modificare.

IMPORTANTE:

Se non stai utilizzando esplicitamente una o più librerie specificate e ti dà l'errore, significa che viene utilizzato internamente da un'altra libreria, compilalo comunque in modo esplicito.

Puoi anche usare un altro metodo per vedere la differenza tra le versioni di tutte le librerie che stai effettivamente compilando (come eseguire un rapporto di dipendenza graduale o andare ai file delle librerie), il vero obiettivo è compilare tutte le librerie che stai utilizzando la stessa versione .


Apri la libreria esterna del tuo progetto e vedrai che alcune librerie usano ancora la versione precedente anche se non hai menzionato quelle librerie, quindi il mio suggerimento è di usare solo la versione particolare della libreria per quelle che risolverà il tuo problema.


Ecco il mio flusso per correggere questo avviso

build.gradle

android {
    compileSdkVersion ... // must same version (ex: 26)
    ...
}

dependencies {
    ...
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)

    ...
    compile ('a library B which don't use 'com.android.support...' OR use SAME version of 'com.android.support'){
         // do nothing 
    }

    ...
    compile ('a library C which use DIFFERENT 'com.android.support...' (ex:27.0.1) { 
        // By default, if use don't do anything here your app will choose the higher com.android.support... for whole project (in this case it is 27.0.1)

        // If you want to use 26.0.1 use
        exclude group: 'com.android.support', module: '...' (ex module: 'appcompat-v7') 
        exclude group: 'com.android.support', module: 'another module'
        ...

        // If you want to use 27.0.1 do 
        Upgrade `compileSdkVersion` and all 'com.android.support' to 27.0.1.
        (It may be a good solution because the best practice is always use latest `compileSdkVersion`.  
        However, use 26 or 27 is base on you for example higher library may have bug)
    }
}

Per visualizzare / verificare la dependencies totalità della libreria nella tua app
Apri terminale ed esegui ./gradlew app:dependencies

Per visualizzare la dependencies libreria specifica di un'app, segui il tutorial qui: - Come escludere dipendenze di una dipendenza particolare in Gradle

Spero che sia d'aiuto


Ho lo stesso problema, ma ho risolto questo aggiungendo quelle tre righe

implementation 'com.android.support:design:27.1.1'
implementation "com.android.support:customtabs:27.1.1"
implementation 'com.android.support:mediarouter-v7:27.1.1'

ora Ogni cosa funziona perfettamente


Ho riscontrato questo problema dopo l'aggiornamento a Android Studio 3.4 e versione SDK a 28.0.0. L'applicazione sotto dipendenza ha risolto il problema per me.

 implementation 'com.android.support:exifinterface:28.0.0' 

A) Esegui gradle dependencies ./gradlew dependencies o ./gradlew dependencies

B) Guarda il tuo albero e scopri quale delle tue dipendenze specifica una versione diversa della libreria di supporto per una dipendenza che non controlli.

Non mi rendevo conto che questo avviso mostra anche se la dipendenza è completamente inutilizzata direttamente dal tuo codice. Nel mio caso, Facebook specifica alcune librerie di supporto che non stavo usando, puoi vedere di seguito la maggior parte di quelle dipendenze sono state ignorate dalle mie specifiche di 25.2.0, indicate dai simboli -> XXX (*) . La visualizzazione delle carte e le schede personalizzate non sono state ignorate da nessuno, quindi ho bisogno di chiedere 25.2.0 per quelle stesse anche se non le uso.

+--- com.facebook.android:facebook-android-sdk:4.17.0
|    +--- com.android.support:support-v4:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:appcompat-v7:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:cardview-v7:25.0.0
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    +--- com.android.support:customtabs:25.0.0
|    |    +--- com.android.support:support-compat:25.0.0 -> 25.2.0 (*)
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    \--- com.parse.bolts:bolts-android:1.4.0 (*)

Se Gradle ti ha già avvertito e ti ha dato degli esempi ...

Gli esempi includono com.android.support:animated-vector-drawable:25.1.1 e com.android.support:mediarouter-v7:24.0.0

... è ancora più semplice se si mette in evidenza un po 'di grep per la versione inferiore poiché gradle dependencies possono essere abbastanza dettagliate:

./gradlew dependencies | grep --color -E 'com.android.support:mediarouter-v7|$'

Aggiungi questo alla fine del tuo build.gradle (Modulo: app):

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '25.3.1'
        }
     }

   }
}

Assicurati di sostituire '25 .3.1 'con la versione della libreria di supporto Android che desideri utilizzare per tutte le dipendenze, non dovrebbe essere inferiore alla tua versione SDK completa

di ri-sincronizzare gradle


Come hai già visto tutte le risposte e i commenti sopra, ma questa risposta è per cancellare qualcosa che un nuovo sviluppatore potrebbe non ottenere facilmente.

./gradlew -q app dipendenze: dipendenze - compilazione configurazione

La linea sopra ti salverà la vita senza dubbio, ma come ottenere il punto esatto dal risultato della linea sopra.

Quando si ottiene il grafico o l'elenco di tutte le dipendenze dal comando precedente, è necessario cercare il numero di versione in conflitto che si sta ottenendo nel codice. si prega di vedere l'immagine qui sotto.

nell'immagine sopra puoi vedere che 23.4.0 sta creando il problema ma questo non siamo in grado di trovare nel nostro file gradle. Quindi ora questo numero di versione (23.4.0) ci salverà. Quando abbiamo questo numero, troveremo questo numero nel risultato del risultato del comando sopra e importeremo direttamente quella dipendenza direttamente nel nostro file gradle. Si prega di vedere l'immagine qui sotto per ottenere la visione chiara.

puoi vedere chiaramente che com.android.support:cardview-v7:23.4.0 e com.android.support:customtabs:23.4.0 stanno usando la versione che sta creando il problema. Ora basta semplicemente copiare quelle righe dall'elenco delle dipendenze e utilizzarle esplicitamente nel nostro file gradle ma con il collegamento alla versione aggiornata

implementazione "com.android.support:cardview-v7:26.1.0" implementazione "com.android.support:customtabs:26.1.0"


Dopo aver cercato e combinato le risposte, la versione 2018 di questa domanda e ha funzionato per me:

1) Nella scheda di navigazione, cambiarlo in vista progetto

2) Vai a [YourProjectName] /. Idea / librerie /

3) Elimina tutti i file che iniziano con Gradle__com_android_support_ [nome libreria]

Ad esempio: Gradle__com_android_support_animated_vector_drawable_26_0_0.xml

4) Nel tuo file gradle definisci una variabile e usala per sostituire il numero di versione come $ {variabileName}

Def variabile:

ext {
    support_library_version = '28.0.0' //use the version of choice
}

Usa variabile:

implementation "com.android.support:cardview-v7:${support_library_version}"

esempio gradle:

dependencies {
    ext {
        support_library_version = '28.0.0' //use the version of choice
    }

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.android.support:animated-vector-drawable:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:customtabs:${support_library_version}"
    implementation "com.android.support:cardview-v7:${support_library_version}"
    implementation "com.android.support:support-compat:${support_library_version}"
    implementation "com.android.support:support-v4:${support_library_version}"
    implementation "com.android.support:support-core-utils:${support_library_version}"
    implementation "com.android.support:support-core-ui:${support_library_version}"
    implementation "com.android.support:support-fragment:${support_library_version}"
    implementation "com.android.support:support-media-compat:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:recyclerview-v7:${support_library_version}"
    implementation "com.android.support:design:${support_library_version}"

}

Ho avuto lo stesso identico problema dopo l'aggiornamento ad Android Studio 2.3

L'aggiunta di questa linea alle dipendenze ha risolto il mio problema:

compile 'com.android.support:customtabs:25.2.0'

Ho avuto lo stesso problema prima e ho ottenuto la soluzione per questo.

Ho appena aggiunto le librerie che avevano un'altra versione ma con la stessa versione del mio support:appcompat .

Ad esempio, per il tuo errore:

Tutte le librerie com.android.support devono utilizzare esattamente le stesse specifiche di versione (il mix delle versioni può causare arresti anomali del runtime). Trovate versioni 25.1.1, 24.0.0. Gli esempi includono com.android.support:animated-vector-drawable:25.1.1 e com.android.support:mediarouter-v7:24.0.0

* La soluzione è compilare le versioni di queste librerie in questo modo:

compile 'com.android.support:mediarouter-v7:25.1.1'

-se un'altra libreria aveva lo stesso problema e aveva un'altra versione, basta compilarla con il vostro support:appcompat versione support:appcompat

Questo ha risolto il mio problema e spero che risolva il tuo.

Auguri :)


Ho dovuto aggiungere le seguenti righe in gradi per rimuovere l'errore

compile 'com.android.support:animated-vector-drawable:25.2.0'
compile 'com.android.support:preference-v7:25.2.0'
compile 'com.android.support:customtabs:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'

Ho eseguito attività ./gradlew - tutte e verificato la presenza di dipendenze che erano una versione diversa dalla versione di destinazione (25.3.1). Otterrai qualcosa del genere:

app:prepareComAndroidSupportAnimatedVectorDrawable2531Library - Prepare com.android.support:animated-vector-drawable:25.3.1
app:prepareComAndroidSupportAppcompatV72531Library - Prepare com.android.support:appcompat-v7:25.3.1
app:prepareComAndroidSupportCardviewV72531Library - Prepare com.android.support:cardview-v7:25.3.1
app:prepareComAndroidSupportCustomtabs2531Library - Prepare com.android.support:customtabs:25.3.1
app:prepareComAndroidSupportDesign2531Library - Prepare com.android.support:design:25.3.1
app:prepareComAndroidSupportMediarouterV72531Library - Prepare com.android.support:mediarouter-v7:25.3.1
app:prepareComAndroidSupportPaletteV72531Library - Prepare com.android.support:palette-v7:25.3.1
app:prepareComAndroidSupportRecyclerviewV72531Library - Prepare com.android.support:recyclerview-v7:25.3.1
app:prepareComAndroidSupportSupportCompat2531Library - Prepare com.android.support:support-compat:25.3.1
app:prepareComAndroidSupportSupportCoreUi2531Library - Prepare com.android.support:support-core-ui:25.3.1
app:prepareComAndroidSupportSupportCoreUtils2531Library - Prepare com.android.support:support-core-utils:25.3.1
app:prepareComAndroidSupportSupportFragment2531Library - Prepare com.android.support:support-fragment:25.3.1
app:prepareComAndroidSupportSupportMediaCompat2531Library - Prepare com.android.support:support-media-compat:25.3.1
app:prepareComAndroidSupportSupportV42531Library - Prepare com.android.support:support-v4:25.3.1
app:prepareComAndroidSupportSupportVectorDrawable2531Library - Prepare com.android.support:support-vector-drawable:25.3.1
app:prepareComAndroidSupportTransition2531Library - Prepare com.android.support:transition:25.3.1
app:prepareComAndroidVolleyVolley100Library - Prepare com.android.volley:volley:1.0.0
app:prepareComCrashlyticsSdkAndroidAnswers1312Library - Prepare com.crashlytics.sdk.android:answers:1.3.12
app:prepareComCrashlyticsSdkAndroidBeta124Library - Prepare com.crashlytics.sdk.android:beta:1.2.4
app:prepareComCrashlyticsSdkAndroidCrashlytics267Library - Prepare com.crashlytics.sdk.android:crashlytics:2.6.7
app:prepareComCrashlyticsSdkAndroidCrashlyticsCore2316Library - Prepare com.crashlytics.sdk.android:crashlytics-core:2.3.16
app:prepareComFacebookAndroidFacebookAndroidSdk4161Library - Prepare com.facebook.android:facebook-android-sdk:4.16.1
app:prepareComGoogleAndroidGmsPlayServicesAnalytics1026Library - Prepare com.google.android.gms:play-services-analytics:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl1026Library - Prepare com.google.android.gms:play-services-analytics-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuth1026Library - Prepare com.google.android.gms:play-services-auth:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuthBase1026Library - Prepare com.google.android.gms:play-services-auth-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBase1026Library - Prepare com.google.android.gms:play-services-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBasement1026Library - Prepare com.google.android.gms:play-services-basement:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesCast1026Library - Prepare com.google.android.gms:play-services-cast:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesLocation1026Library - Prepare com.google.android.gms:play-services-location:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesMaps1026Library - Prepare com.google.android.gms:play-services-maps:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4Impl1026Library - Prepare com.google.android.gms:play-services-tagmanager-v4-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTasks1026Library - Prepare com.google.android.gms:play-services-tasks:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalytics1026Library - Prepare com.google.firebase:firebase-analytics:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalyticsImpl1026Library - Prepare com.google.firebase:firebase-analytics-impl:10.2.6
app:prepareComGoogleFirebaseFirebaseAppindexing1024Library - Prepare com.google.firebase:firebase-appindexing:10.2.4
app:prepareComGoogleFirebaseFirebaseCommon1026Library - Prepare com.google.firebase:firebase-common:10.2.6
app:prepareComGoogleFirebaseFirebaseCore1026Library - Prepare com.google.firebase:firebase-core:10.2.6
app:prepareComGoogleFirebaseFirebaseIid1026Library - Prepare com.google.firebase:firebase-iid:10.2.6
app:prepareComGoogleFirebaseFirebaseMessaging1026Library - Prepare com.google.firebase:firebase-messaging:10.2.6
app:prepareComMindorksPlaceholderview027Library - Prepare com.mindorks:placeholderview:0.2.7
app:prepareDebugAndroidTestDependencies
app:prepareDebugDependencies
app:prepareDebugUnitTestDependencies
app:prepareInfoHoang8fAndroidSegmented105Library - Prepare info.hoang8f:android-segmented:1.0.5
app:prepareIoFabricSdkAndroidFabric1316Library - Prepare io.fabric.sdk.android:fabric:1.3.16
app:prepareNoNordicsemiAndroidLog211Library - Prepare no.nordicsemi.android:log:2.1.1
app:prepareNoNordicsemiAndroidSupportV18Scanner100Library - Prepare no.nordicsemi.android.support.v18:scanner:1.0.0

In questo caso, stavo prendendo di mira il 25.3.1 e avevo alcune dipendenze destinate a versioni diverse quando ho eseguito questo comando. Il trucco è identificare le dipendenze in questo elenco che stanno prendendo di mira le versioni precedenti e sovrascriverle importando la versione più recente della dipendenza in Gradle.


Il mio problema è simile al tuo. Qui esiste un errore!

compile 'com.android.support:appcompat-v7:25.3.0'

Tutte le librerie com.android.support devono utilizzare esattamente le stesse specifiche di versione (il mix delle versioni può causare arresti anomali del runtime). Trovate versioni 25.3.0, 24.0.0. Gli esempi includono "com.android.support:animated-vector-drawable:25.3.0" e "com.android.support:mediarouter-v7:24.0.0"

I seguenti esempi includono "com.android.support:animated-vector-drawable:25.3.0" e "com.android.support:mediarouter-v7:24.0.0"

basta aggiungere questi codici nelle dipendenze, assicurarsi che le versioni siano uguali.

compile 'com.android.support:animated-vector-drawable:25.3.0'
compile 'com.android.support:mediarouter-v7:25.3.0'

Puoi risolverlo con una delle seguenti soluzioni:

Aggiornare:

A partire da Android Studio 3.0, diventa molto più semplice in quanto ora mostra un suggerimento più utile, quindi dobbiamo solo seguire questo suggerimento.
per esempio:

Tutte le librerie com.android.support devono utilizzare esattamente le stesse specifiche di versione (il mix delle versioni può causare arresti anomali del runtime). Trovate versioni 27.0.2, 26.1.0. Gli esempi includono com.android.support:animated-vector-drawable:27.0.2 e com.android.support:customtabs:26.1.0

ci sono alcune combinazioni di librerie, o strumenti e librerie, che sono incompatibili o possono portare a bug. Una di queste incompatibilità è la compilazione con una versione delle librerie di supporto di Android che non è l'ultima versione (o in particolare, una versione inferiore a targetSdkVersion).

Soluzione:
Aggiungi esplicitamente la libreria con la versione precedente ma con un nuovo numero di versione.
nel mio caso com.android.support:customtabs:26.1.0 quindi devo aggiungere:

implementation "com.android.support:customtabs:27.0.2"  

cioè: prendi la libreria dal secondo elemento e implementala con il numero di versione dal primo.

Nota: non dimenticare di premere Sincronizza ora in modo che Gradle possa ricostruire il grafico delle dipendenze e vedere se ci sono altri conflitti.

Spiegazione:
potresti essere confuso dal messaggio di errore in quanto non usi i customtabs quindi come ho un conflitto !!
beh .. non l'hai usato direttamente ma una delle tue librerie usa internamente una vecchia versione di customtabs , quindi devi richiederla direttamente.

se sei curioso di sapere quale delle tue librerie è responsabile della vecchia versione e magari chiedi all'autore di aggiornare la sua libreria, esegui un rapporto di dipendenza Gradle, vedi la vecchia risposta per sapere come fare.

Nota questo

Vecchia risposta:

ispirato dalla risposta CommonsWare :

Esegui un rapporto di dipendenza Gradle per vedere qual è il tuo albero delle dipendenze completo.

Da lì, vedrai quale delle tue librerie richiede una versione diversa delle librerie del supporto Android. Per qualunque cosa chieda, puoi richiederlo direttamente con la versione 25.2.0 o utilizzare gli altri approcci di risoluzione dei conflitti di Gradle per ottenere le stesse versioni.

Aggiornare:

A partire dalla versione gradle del plugin: la compile 3.0 è stata sostituita dall'implementazione o da api vedi questa risposta per la differenza.

quindi usa invece:

./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

o per windows cmd:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

e cerca la versione in conflitto.

Per me, l'errore è scomparso dopo aver rimosso com.google.android.gms:play-services:10.2.0

E includi solo com.google.android.gms:play-services-location:10.2.0 e com.google.android.gms:play-services-maps:10.2.0 in quanto sono gli unici due servizi di gioco che utilizzo.

Penso che gms:play-services dipenda da alcuni vecchi componenti della libreria di supporto, quindi dobbiamo aggiungerli esplicitamente noi stessi.

per AS 3.0 una versione precedente.

Correre:

./gradlew -q dependencies <module-name>:dependencies --configuration implementation

Esempio:

./gradlew -q dependencies app:dependencies --configuration implementation

se qualcuno conosce un modo migliore nel nuovo plugin Gradle, per favore fatemelo sapere.


Un altro modo per risolvere i conflitti è solo quello di forzare la versione corretta per tutte le dipendenze come questa:

dependencies {
            configurations.all {
                resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                    if (details.requested.group == 'com.android.support' && details.requested.name == 'support-v4') {
                        details.useVersion "27.0.2"
                    }
                }
    ...
    }

https://docs.gradle.org/current/userguide/customizing_dependency_resolution_behavior.html


Usa support-v13 invece di support-v4

compile 'com.android.support:support-v13:25.2.0'

nel 2018 l'aggiornamento per questo errore aggiunge l'implementazione dalla struttura del progetto

implementation 'com.android.support:support-v13:28.0.0'

in modalità progetto -> Librerie esterne lì puoi trovare il tuo problema, nel mio caso sto usando la versione 28 e le librerie esterne ho trovato com.android.support:support-media-compat-26.0.0 e qui c'era l'errore.

dopo il support v13 all'implementazione support v13 e funziona


Il modo migliore per risolvere il problema è implementare tutto 'com.android.support: ...' suggerito da Android Studio

(non importa quali versioni di supporto stai utilizzando - 27.1.1, 28.0.0 ecc.)

posiziona il cursore sulla riga dell'errore, ad es .:

implementation 'com.android.support:appcompat-v7:28.0.0'

Android Studio ti suggerirà quale 'com.android.support: ...' è una versione diversa da 'com.android.support:appcompat-v7:28.0.0'

esempio

Tutte le librerie com.android.support devono utilizzare esattamente le stesse specifiche di versione (il mix delle versioni può causare arresti anomali del runtime). Trovate versioni 28.0.0, 27.1.0, 27.0.2. Gli esempi includono com.android.support:animated-vector-drawable:28.0.0 e com.android.support:exifinterface:27.1.0

quindi aggiungi com.android.support:animated-vector-drawable:28.0.0 e com.android.support:exifinterface:28.0.0 . ora sincronizza il file gradle.

uno per uno prova a implementare tutti i "com.android.support: ..." suggeriti fino a quando non vi sono errori nell'implementazione di questa riga implementation 'com.android.support:appcompat-v7:28.0.0'

Nel mio caso, ho aggiunto

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

tutte queste dipendenze ... potrebbe essere diverso per gli altri.





android-studio-2.3