web-dev-qa-db-fra.com

Androidx et liaison de données

Je migre mes dépendances pour un test Android P vers les dépendances androidx. Pour des raisons peu claires, mon projet ne compile plus (et non, je ne donnerai pas les détails pour éviter un problème distinct). J'ai découvert (via gradlew dependencies) que la liaison de données utilise la dépendance "oldschool" Android.Arch.lifecycle:runtime:1.0.3 au lieu de androidx.lifecycle:lifecycle-runtime:2.0.0-beta01. Je suppose que cela pourrait être une des raisons.

Une idée sur la façon de forcer l’utilisation des nouveaux noms/dépendances de paquets?

8
rekire

J'ai essayé cela alors que ma connexion Internet était faible, alors j'ai sauté pour passer à Android Studio 3.2. C'était de ma faute. Avec cette mise à niveau (la décompression a pris presque une heure, je ne sais pas pourquoi). On m'a également demandé de mettre à niveau mes outils de compilation vers com.Android.tools.build:gradle:3.2.0-beta04 (ou la version la plus récente correspondant à votre version d'Android Studio (je n'installe pas le 3.3.0-alpha03) et de mettre à niveau le emballage à 4.6.

Maintenant, les dépendances ont disparu et je suis heureux.

2
rekire

Je suis confronté au même problème, la bibliothèque Data Binding utilise la bibliothèque de support, certaines classes peuvent être en conflit avec la AndroidX. Je dois enlever la DataBinding pour l'instant.

Je viens de lire cette note de version , il était indiqué que ce problème avait été résolu, mais je n’en ai pas vu l’effet.

4
Yu Lee

Vérifiez les fichiers de mise en forme. Il existe peut-être des vues qui utilisent la bibliothèque de support au lieu d’androidx. 

<Android.support.constraint.ConstraintLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent">

changez le en 

<androidx.constraintlayout.widget.ConstraintLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent">
0
MJahongir

Dans mon cas, l’erreur était due au fait que l’outil de migration vers AndroidX ne fonctionnait pas parfaitement. Il existait encore des fichiers de mise en page utilisant d'anciennes bibliothèques de support. Après avoir corrigé ces fichiers, tout s’est bien passé =)

Pour corriger, chaque bibliothèque de support utilisée dans ces fichiers de mise en page, j'ai changé à droite en suivant ce lien: https://developer.Android.com/jetpack/androidx/migrate

0
Gabriel Guedes