Supporto Android Repo 46.0.0 con Android Studio 2.3

Ho aggiornato oggi il mio repository di supporto a 46.0.0 come notifica di Android Studio.

Vado l'errore di seguito:

  • come sbloccare lo schermo quando viene chiamato BroadcastReceiver?
  • AlarmManager e BroadcastReceiver al posto del servizio - è così male? (Tempo scaduto)
  • La dimensione dell'annuncio e l'ID dell'unità pubblicitaria devono essere impostati prima che venga chiamata l'annuncio loadAd
  • È ansible disegnare un animato?
  • È ansible impostare un carattere personalizzato per l'intera applicazione?
  • Come utilizzare il command su su shell di adb?
  • Errore: l'esecuzione non è rioutput per l'attività ': app: processDevDebugManifest'.

    La fusione manifesta non rioutput: Attributo metadata # android.support.VERSION@value value = (25.3.0) da [com.android.support:support-v13:25.3.0] AndroidManifest.xml: 27: 9-31 è anche presente a [com.android.support:preference-v7:26.0.0-alpha1] AndroidManifest.xml: 24: 9-38 valore = (26.0.0-alfa1). Suggerimento: aggiungi gli strumenti: replace = "android: valore" "all'elemento di AndroidManifest.xml: 25: 5-27: 34 per sovrascrivere.

    Ho aggiornato tutte le mie dependencies per utilizzare Revisione 26.0.0 Alpha 1 da 25.3.0, ma risulta che devo battere il compileSdk da 25 a 26. Non puoi farlo se hai AS 2.3, devi get versione instabile alfa / beta dal canarino.

    Questo collegamento mostra le modifiche: https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-alpha1

    E per quanto riguarda la migrazione verso la nuova android O, questo è il link: https://developer.android.com/preview/migration.html

    Sembra che usando la versione AS stabile non functionrà con il nuovo repository.

    Come posso tornare alla Versione 45 di Repository di Studio Android anziché al nuovo 46?

    ** Aggiornamento: il manifesto unione mostra che uno dei manifesti della libreria generati contiene

    <meta-data android:name="android.support.VERSION" android:value="26.0.0-alpha1" /> 

    Ma poiché è un editing di file generato è inutile, per questo adesso vorrei attaccare a rev 45 finché il nuovo AS non è in una costruzione stabile

  • AppCompat v7 Barra degli strumenti onOptionsItemSelected non chiamata
  • Android: Il controllo dell'emulatore è disabilitato nella prospettiva DDMS
  • Errore dopo l'aggiornamento della libreria Android.Support v7 AppCompat alla versione 21.0.3
  • Tentare di disegnare triangoli testurizzati sul dispositivo non riesce, ma l'emulatore funziona. Perché?
  • Salva più TextViews come image di grande risoluzione
  • android.os.TransactionTooLargeException su torrone
  • 6 Solutions collect form web for “Supporto Android Repo 46.0.0 con Android Studio 2.3”

    Qual è il problema

    Alcune librerie dipendono dalla versione "X o più recente" delle librerie di supporto Android, quindi la risoluzione di dipendenza di Gradle afferra qualunque sia il più recente disponibile ignorando che in realtà disponga di una versione precisa specificata nel block delle dependencies .

    Questo non è quello che vuoi. Vuoi che tutte le librerie di supporto con la stessa versione e la versione principale abbiano la corrispondenza della versione di SDK compilazione.

    Qual è la soluzione?

    Fortunatamente è ansible forzare una versione specifica della libreria di supporto.

    Mettere questo alla fine del module di app build.gradle :

     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.0' } } } } 

    Ovviamente sostituire la versione con quello che stai utilizzando.

    I valori di versione delle librerie di supporto nel block dependecies sono ora irrilevanti.

    Se hai dubbi

    Questo è un metodo ben documentato e sta funzionando.

    Cosa puoi fare per aiutarti?

    Trova le librerie che dipendono da una gamma di versioni di libreria di supporto

     gradlew dependencies --configuration compile -p <module name> | grep , 

    e lasciare che gli autori di queste biblioteche sappiano che dovrebbero dipendere in modo transitorio dai vecchi supporti di supporto che la loro biblioteca può fare .

    Ciò mira a evitare tutto il problema.

    La loro è una soluzione per risolvere il problema:

    1. Passare alla visualizzazione Esplora progetti
    2. Raggiungere verso il basso la loro è Biblioteche Esterne
    3. Vedere quale libreria utilizza 26.0.0-alpha6
    4. Ora scrivere questo in app.gradle sulla base della libreria nel passaggio 3

    Ex. nel mio caso:

     configurations.all { resolutionStrategy.force 'com.android.support:appcompat-v7:25.3.0' resolutionStrategy.force 'com.android.support:support-v13:25.3.0' } 

    Questo costringerà il progetto ad utilizzare la biblioteca citata.

    Penso che la soluzione migliore sia quella di ripristinare la libreria di supporto Android alla versione 45.

    A questo scopo, apri questo collegamento (modifica la versione a qualunque sia il tuo caso)

    https://dl-ssl.google.com/android/repository/android_m2repository_r45.zip

    Quando scaricato, estraete e copia il file m2repository su android-sdk-root-folder \ extras \ android. Assicurarsi di eliminare il magazzino esistente esistente prima di sbloccare per evitare problemi.

    Passo 1

    Per fuggire da Gradle per verificare le versioni com.android.support incompatibili, una soluzione rapida è aggiungere il seguente codice nel module di build.gradle app.

     dependencies { //noinspection GradleCompatible } 

    Questa è una correzione temporanea che non risolve i problemi sottostanti! Ha contribuito a continuare a sviluppare la tua applicazione con modifiche minime.

    Passo 2

    Aggiungere questo nel file principale di manifestazione AndroidManifest.xml .

     <meta-data tools:replace="android:value" android:name="android.support.VERSION" android:value="25.3.1" /> 

    Questa voce verrà rimossa quando è disponibile uno degli aggiornamenti successivi del repository di supporto.

    Fase 3

    Aggiungere il seguente codice alla fine del file build.gradle module di app:

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

    NB : Si raccomanda di assicurarsi che le librerie Gradle siano aggiornate e compatibili per evitare errori di runtime.

    Questa è una correzione temporanea che non risolve i problemi sottostanti! Mi ha aiutato a continuare a sviluppare il software con modifiche minime. Basta aggiungere questo al manifesto principale:

     <meta-data tools:replace="android:value" android:name="android.support.VERSION" android:value="25.3.0" /> 

    Si può sperare che questa voce sia rimossa con uno degli aggiornamenti successivi del repository di supporto.

    SOLUZIONE: La soluzione contrassegnata ha funzionato per me aggiungendo i seguenti a 4 dei miei 10 file build.gradle:

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

    basta fare questo è tutto:

    compilare 'com.android.support:appcompat-v7:25.3.1'

    qui v7: 25.3.1 è la mia versione corrente che hai appena messo urs.

    nel file di gradi app

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.