studio - set a toolbar android




Tutte le librerie com.android.support devono utilizzare la stessa versione esatta (9)

Quando ho aggiornato il mio studio Android oggi dalla versione 2.2.3 alla 2.3 improvvisamente ho avuto questo errore nel mio build.gradle sulla prima riga di compilazione nelle dipendenze

(Non importa quale dipendenza sarà al primo posto ma mi darà sempre questo 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.2.0, 24.0.0. Gli esempi includono com.android.support:animated-vector-drawable:25.2.0 e com.android.support:mediarouter-v7:24.0.0

ho guardato tutto il mio progetto e non ho trovato alcun utilizzo delle versioni 24.0.0 (ho cercato con ctrl + maiusc + F per cercare nell'intero progetto)

questo è il mio build.gradle:

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 25
        versionName "1.0"
        versionCode 1
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
        debug {
            minifyEnabled true
            shrinkResources true
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.squareup:otto:1.3.8'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.android.support:multidex:1.0.1'
}

ho esaminato tutto il mio progetto e non trovo alcun utilizzo delle versioni 24.0.0

Sta arrivando come una dipendenza transitiva da una delle altre dipendenze.

Per prima cosa, tuttavia, build.gradle gli altri problemi nel tuo file build.gradle , in quanto potrebbero risolvere anche questo problema:

  • Non utilizzare + per una versione di libreria. Usa una versione specifica.

  • Non utilizzare play-services . Usa le dipendenze specifiche per i pezzi specifici dell'SDK di Play Services che desideri. play-services include tutti i play-services di gioco, rendendo la tua app molto più grande di quanto deve essere e rallentando molto i tempi di costruzione.

  • Sostituisci com.mcxiaoke.volley con l'artefatto ufficiale Volley ( com.android.volley:volley:1.0.0 )

Se nessuno di questi risolve il problema, è possibile eseguire un rapporto sulle dipendenze Gradle per vedere qual è il tuo albero delle dipendenze completo. Da lì, vedrai quale delle tue librerie richiede una versione diversa delle librerie di supporto Android. Per qualunque cosa stia chiedendo, puoi richiederlo direttamente con la versione 25.2.0 o utilizzare gli altri approcci di risoluzione dei conflitti di Gradle per organizzare la stessa versione.


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.

Non puoi vedere gli usi perché il suo utilizzo è probabilmente interno a un'altra libreria (come Google Play Services o Squareup).

Basta compilare tutti gli esempi che la piccola finestra informativa dice , nel tuo caso:

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

Il tuo

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

è la versione 25.2.0 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.2.0

E fallo per ogni esempio che dice la piccola finestra informativa; nel tuo caso tutte le librerie che non hanno la versione 25.2.0.

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


Ho lo stesso problema in Android Studio 2.3

prima:

Quindi provo:

./gradlew -q dependencies app --configuration compile

+--- project :lib
+--- com.jonathanfinerty.once:once:1.2.2
|    \--- com.android.support:support-annotations:25.3.1
+--- com.zhy:base-rvadapter:3.0.3
|    \--- com.android.support:recyclerview-v7:23.4.0
|         +--- com.android.support:support-annotations:23.4.0 -> 25.3.1
|         \--- com.android.support:support-v4:23.4.0 -> 25.3.1
|              +--- com.android.support:support-compat:25.3.1
|              |    \--- com.android.support:support-annotations:25.3.1
|              +--- com.android.support:support-media-compat:25.3.1
|              |    +--- com.android.support:support-annotations:25.3.1
|              |    \--- com.android.support:support-compat:25.3.1 (*)
|              +--- com.android.support:support-core-utils:25.3.1
|              |    +--- com.android.support:support-annotations:25.3.1
|              |    \--- com.android.support:support-compat:25.3.1 (*)
|              +--- com.android.support:support-core-ui:25.3.1
|              |    +--- com.android.support:support-annotations:25.3.1
|              |    \--- com.android.support:support-compat:25.3.1 (*)
|              \--- com.android.support:support-fragment:25.3.1
|                   +--- com.android.support:support-compat:25.3.1 (*)
|                   +--- com.android.support:support-media-compat:25.3.1 (*)
|                   +--- com.android.support:support-core-ui:25.3.1 (*)
|                   \--- com.android.support:support-core-utils:25.3.1 (*)
+--- com.squareup.okhttp3:okhttp:3.6.0
|    \--- com.squareup.okio:okio:1.11.0
+--- com.squareup.okhttp3:logging-interceptor:3.6.0
|    \--- com.squareup.okhttp3:okhttp:3.6.0 (*)
+--- com.google.code.gson:gson:2.8.0
+--- com.jakewharton:butterknife:8.4.0
|    +--- com.jakewharton:butterknife-annotations:8.4.0
|    |    \--- com.android.support:support-annotations:24.1.0 -> 25.3.1
|    \--- com.android.support:support-annotations:24.1.0 -> 25.3.1
+--- com.github.bumptech.glide:glide:3.7.0
+--- org.litepal.android:core:1.5.1
+--- com.orhanobut:logger:1.15
+--- com.android.support:appcompat-v7:25.3.1
|    +--- com.android.support:support-annotations:25.3.1
|    +--- com.android.support:support-v4:25.3.1 (*)
|    +--- com.android.support:support-vector-drawable:25.3.1
|    |    +--- com.android.support:support-annotations:25.3.1
|    |    \--- com.android.support:support-compat:25.3.1 (*)
|    \--- com.android.support:animated-vector-drawable:25.3.1
|         \--- com.android.support:support-vector-drawable:25.3.1 (*)

la libreria base-rvadapter non include 25.3.1:

com.zhy:base-rvadapter:3.0.3
|    \--- com.android.support:recyclerview-v7:23.4.0

Infine, aggiungo una riga:

compile 'com.android.support:design:25.3.1'

il design include appcompat-v7 e il collegamento base-rvadapter 25.3.1.

+--- project :lib
+--- com.jonathanfinerty.once:once:1.2.2
|    \--- com.android.support:support-annotations:25.3.1
+--- com.zhy:base-rvadapter:3.0.3
|    \--- com.android.support:recyclerview-v7:23.4.0 -> 25.3.1
|         +--- com.android.support:support-annotations:25.3.1
|         +--- com.android.support:support-compat:25.3.1
|         |    \--- com.android.support:support-annotations:25.3.1
|         \--- com.android.support:support-core-ui:25.3.1
|              +--- com.android.support:support-annotations:25.3.1
|              \--- com.android.support:support-compat:25.3.1 (*)
+--- com.squareup.okhttp3:okhttp:3.6.0
|    \--- com.squareup.okio:okio:1.11.0
+--- com.squareup.okhttp3:logging-interceptor:3.6.0
|    \--- com.squareup.okhttp3:okhttp:3.6.0 (*)
+--- com.google.code.gson:gson:2.8.0
+--- com.jakewharton:butterknife:8.4.0
|    +--- com.jakewharton:butterknife-annotations:8.4.0
|    |    \--- com.android.support:support-annotations:24.1.0 -> 25.3.1
|    \--- com.android.support:support-annotations:24.1.0 -> 25.3.1
+--- com.github.bumptech.glide:glide:3.7.0
+--- org.litepal.android:core:1.5.1
+--- com.orhanobut:logger:1.15
+--- com.android.support:appcompat-v7:25.3.1
|    +--- com.android.support:support-annotations:25.3.1
|    +--- com.android.support:support-v4:25.3.1
|    |    +--- com.android.support:support-compat:25.3.1 (*)
|    |    +--- com.android.support:support-media-compat:25.3.1
|    |    |    +--- com.android.support:support-annotations:25.3.1
|    |    |    \--- com.android.support:support-compat:25.3.1 (*)
|    |    +--- com.android.support:support-core-utils:25.3.1
|    |    |    +--- com.android.support:support-annotations:25.3.1
|    |    |    \--- com.android.support:support-compat:25.3.1 (*)
|    |    +--- com.android.support:support-core-ui:25.3.1 (*)
|    |    \--- com.android.support:support-fragment:25.3.1
|    |         +--- com.android.support:support-compat:25.3.1 (*)
|    |         +--- com.android.support:support-media-compat:25.3.1 (*)
|    |         +--- com.android.support:support-core-ui:25.3.1 (*)
|    |         \--- com.android.support:support-core-utils:25.3.1 (*)
|    +--- com.android.support:support-vector-drawable:25.3.1
|    |    +--- com.android.support:support-annotations:25.3.1
|    |    \--- com.android.support:support-compat:25.3.1 (*)
|    \--- com.android.support:animated-vector-drawable:25.3.1
|         \--- com.android.support:support-vector-drawable:25.3.1 (*)
\--- com.android.support:design:25.3.1
     +--- com.android.support:support-v4:25.3.1 (*)
     +--- com.android.support:appcompat-v7:25.3.1 (*)
     +--- com.android.support:recyclerview-v7:25.3.1 (*)
     \--- com.android.support:transition:25.3.1
          +--- com.android.support:support-annotations:25.3.1
          \--- com.android.support:support-v4:25.3.1 (*)

dopo:


Lo stesso problema mi è successo. Quello che ho appena fatto ha aggiunto queste due righe

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

problema risolto. Ho anche eliminato la mia versione precedente della cartella gradle.


Prova a sostituire la compile 'com.google.android.gms:play-services:+' con i pacchetti specifici che stai utilizzando (vedi questa risposta: https://.com/a/42374426/3495069 )


Puoi aggiungere

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

e facendo clic con il tasto destro del mouse sulla dipendenza gradle è possibile aggiungere dipendenze in conflitto. per me lo era

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

Rimuovere o aggiornare la seguente dipendenza

 compile 'com.google.android.gms:play-services:9.6.1'

o aggiungi solo i servizi selettivi come questo

compile 'com.google.android.gms:play-services-fitness:10.2.4'
compile 'com.google.android.gms:play-services-wearable:10.2.4'

Sembra che Android Studio 2.3 richieda di dichiarare esplicitamente dipendenze esterne. Le dipendenze sono customtabs e palette-v7.

Dovresti aggiungere esplicitamente le seguenti due dipendenze / pacchetti esterni in build.gradle

compile 'com.android.support:customtabs:25.2.0'
compile 'com.android.support:palette-v7:25.2.0'

Penso che questo risolverebbe il problema.


Qui si indica che l'aggiunta di questa riga rimuoverà l'errore.

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




gradle