2
votes

Comment obtenir la dernière version de Room?

Savez-vous où trouver la dernière version de Room?

Sur cette page Android Studio , il est indiqué que la dernière version de Room est 2.1.0-alpha3 mais lorsque je mets cette version dans mon fichier build.gradle, le projet ne peut pas se compiler et l'erreur suivante s'affiche: p>

ERROR: Failed to resolve: android.arch.persistence.room:runtime:2.1.0-alpha3
Show in Project Structure dialog
Affected Modules: app


0 commentaires

3 Réponses :


4
votes

il est indiqué que la dernière version de Room est 2.1.0-alpha3

C'est vrai.

lorsque je mets cette version dans mon fichier build.gradle, le projet ne peut pas être compilé et l'erreur suivante s'affiche

Votre version est correcte. Votre artefact est le problème.

Toutes les nouvelles bibliothèques sont AndroidX. Vos choix sont:

  • Tenez-vous-en à la version que vous utilisez actuellement et conservez votre artefact android.arch.persistence.room:runtime et ses classes, ou

  • Migrez vers AndroidX, auquel cas vous utiliseriez androidx.room:room-runtime comme artefact, et devez changer votre code pour référencer le code androidx cours pour Room et tout le reste


1 commentaires

D'accord, merci ! Je vais mettre à jour la question avec le code qui semble résoudre ce problème, en espérant que cela aidera d'autres personnes dans le même cas :)



3
votes

Le fait est que si vous utilisez AndroidX , le dernier est 2.1.0-alpha3 , ou, si vous utilisez bibliothèques de support alors c'est 1.1.1 ou tout ce qui est le plus récent et c'est ce qui est mentionné dans le documentation . Comme mentionné par CommonsWare, c'est l'artefact, et pour connaître les mappages, consultez cette documentation de cartographie . Et AndroidX est:

La bibliothèque AndroidX contient la bibliothèque de support existante et également inclut les derniers composants Jetpack .

Exemple d'utilisation des bibliothèques de support:

dependencies {
    // Other libraries...
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
}


4 commentaires

Ok, ce n'est pas aussi facile que je le pensais. Merci à vous deux de m'avoir indiqué une direction pleine d'espoir :)


Non mais je vais essayer de cocher la case "AndroidX" dans un nouveau projet, je pense que ce sera plus facile.


Ou simplement "Migrer vers AndroidX" dans Android Studio> Refactor pour vos anciens projets. Et si possible, mettez à jour AS à 3.3.


C'est ce que j'ai fait, Rajarshi. Merci à tous ceux qui ont répondu!



1
votes

La solution consiste à vérifier AndroidX lors du démarrage d'un nouveau projet dans Android Studio, puis dans le fichier App Module Build.Gradle, ce qui suit fonctionne parfaitement:

def room_version = "2.1.0-alpha03"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version" // use kapt for Kotlin


0 commentaires