Android Support Repo 46.0.0 avec Android Studio 2.3

J'ai mis à jour aujourd'hui mon référentiel de support à 46.0.0 à mesure que la notification de Android Studio apparaissait.

Je passe l'erreur ci-dessous:

  • Jusqu'à l'activité parent - sur Android
  • Android: Utilisation d'ObjectAnimator pour traduire une vue avec des valeurs fractionnaires de la dimension de la vue
  • Attributteur de mise en page spécifique à l'API Android de tiroir de navigation
  • AlarmManager setExact avec WakefulBroadcastReceiver parfois pas exact
  • Comment créer une seule bibliothèque en combinant différents modules?
  • Android MediaPlayer getCurrentPosition () provoque le bégaiement audio
  • Erreur: échec d'exécution pour la tâche ': application: processDevDebugManifest'.

    La fusion manifeste a échoué: Attribut meta-data#android.support.VERSION@value value = (25.3.0) à partir de [com.android.support:support-v13:25.3.0] AndroidManifest.xml: 27: 9-31 est également Présent à [com.android.support:preference-v7:26.0.0-alpha1] AndroidManifest.xml: 24: 9-38 value = (26.0.0-alpha1). Suggestion: ajouter 'tools: replace = "android: value"' à l'élément sur AndroidManifest.xml: 25: 5-27: 34 pour remplacer.

    J'ai mis à jour toutes mes dépendances pour utiliser la révision 26.0.0 Alpha 1 à partir de 25.3.0, mais il s'avère que je dois heurter le compileSdk de 25 à 26. Vous ne pouvez pas le faire si vous avez AS 2.3, vous devez obtenir le Version instable alpha / beta de canary.

    Ce lien présente les modifications: https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-alpha1

    Et concernant la migration vers le nouveau Android, c'est le lien: https://developer.android.com/preview/migration.html

    Il semble que l'utilisation d'une version AS stable ne fonctionnera pas avec un nouveau référentiel.

    Comment puis-je revenir à la version 45 du Studio Studio Repository au lieu de la nouvelle 46?

    ** Mise à jour: Le manifeste fusionné montre que l'un des manifestes générés par la bibliothèque contient

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

    Mais comme c'est un édifice de fichier généré, il est inutile, c'est pourquoi, pour l'instant, je resterais à rev 45 jusqu'à ce que le nouvel AS soit en version stable

  • Android Get Bitmap ou le son des actifs
  • ActionBarSherlock: OnOptionsItemSelected ne reconnaît pas R.id.home
  • Comment exécuter (non seulement installer) une application Android utilisant un fichier .apk?
  • Définir le texte de vue aligné au centre dans spinner dans Android
  • Quand la barre de progression indéterminée vient-elle à la bibliothèque de support Android
  • Sélectionnez plusieurs contacts depuis l'annuaire téléphonique sur Android
  • 6 Solutions collect form web for “Android Support Repo 46.0.0 avec Android Studio 2.3”

    Quel est le problème

    Certaines bibliothèques dépendent de la version "X ou plus récente" des bibliothèques de support Android afin que la résolution de dépendance de Gradle gagne tout ce qui est le plus récent disponible en vous ignorant, vous avez une version précise spécifiée dans votre bloc de dependencies .

    Ce n'est pas ce que tu veux. Vous souhaitez que toutes les bibliothèques de support possèdent la même version et que la version majeure soit compatible avec la version comptable SDK.

    Quelle est la solution

    Heureusement, vous pouvez forcer une version spécifique de la bibliothèque de support.

    Mettez ceci à la fin de votre module d'application 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' } } } } 

    Bien sûr, remplacez la version par ce que vous utilisez.

    Les valeurs de version pour les bibliothèques de support dans le bloc de dependecies sont maintenant sans pertinence.

    Si vous avez des doutes

    C'est une méthode bien documentée et cela fonctionne.

    Que pouvez-vous faire pour aider

    Trouvez les bibliothèques qui dépendent d'une gamme de versions de la bibliothèque de support

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

    Et laissez les auteurs desdites bibliothèques savent qu'ils devraient dépendre de la bibliothèque de support la plus ancienne avec laquelle leur bibliothèque peut faire .

    Cela vise à éviter tout le problème.

    Leur solution est la solution:

    1. Passer à la vue Project Browser
    2. Atteindre le bas de leur sont des bibliothèques externes
    3. Voir quelle bibliothèque utilise 26.0.0-alpha6
    4. Écrivez ceci maintenant dans app.gradle sur la base de la bibliothèque à l'étape 3

    Ex. dans mon cas:

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

    Cela obligera le projet à utiliser la bibliothèque mentionnée.

    Je pense que la meilleure solution consiste à simplement renvoyer la bibliothèque de support Android vers la version 45.

    Pour ce faire, ouvrez ce lien (modifiez la version en fonction de vos besoins)

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

    Lorsque téléchargé, décompressez et copiez m2repository dans android-sdk-root-folder \ extras \ android. Assurez-vous de supprimer le m2repository existant avant de décompresser pour éviter tout problème.

    Étape 1

    Pour échapper à Gradle en vérifiant les versions incompatibles de com.android.support , une solution rapide consiste à ajouter le code suivant au module d'application build.gradle .

     dependencies { //noinspection GradleCompatible } 

    Il s'agit d'une correction temporaire qui ne résout pas les problèmes sous-jacents! Il a aidé à continuer à développer votre application avec des modifications minimales.

    Étape 2

    Ajoutez ceci au fichier de manifeste principal AndroidManifest.xml .

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

    Cette entrée sera supprimée lorsque l'une des mises à jour suivantes du référentiel de support est disponible.

    Étape 3

    Ajoutez le code suivant à la fin du module de l'application 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.1' } } } } 

    NB : Il est recommandé de vous assurer que vos bibliothèques Gradle sont mises à jour et compatibles pour éviter les erreurs d'exécution.

    Il s'agit d'une correction temporaire qui ne résout pas les problèmes sous-jacents! Cela m'a aidé à continuer à développer des logiciels avec des modifications minimales. Ajoutez-le simplement au manifeste principal:

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

    Cette entrée peut être supprimée à nouveau avec l'une des mises à jour suivantes du référentiel de support.

    SOLUTION: La solution marquée a fonctionné pour moi en ajoutant ce qui suit à 4 de mes 10 fichiers 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' } } } } 

    Faites simplement ceci, c'est tout: –

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

    Ici v7: 25.3.1 est ma version actuelle que vous venez de mettre vos.

    Dans le fichier gradle d'application

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.