web-dev-qa-db-fra.com

Android Studio 2.3 Beta 1 + Support 25.1.0 = Aperçu du panier

Android Studio 2.3 Canary 3. Bibliothèques de support 25.1.0.

Les aperçus de la mise en page sont totalement brisés. Tout ce qui contient une vue liée au support semble se rompre lors de la prévisualisation.

Dans tous les cas, c'est le début de la pile:

Exception Details Java.lang.NoSuchFieldError: ViewBackgroundHelper   
at Android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.Java:46)   
at Android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.Java:63)   
at Android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.Java:56)
....

.. Etc.

Peu importe comment se présente la mise en page, je reçois maintenant ce problème sanglant ViewBackgroundHelper-. Le type de mise en page et les vues qu'il contient n'ont pas d'importance. Tout ce qui semble passer par AppCompat frappe cette erreur dans l'aperçu.

Je n'ai jamais vu cela auparavant. Auparavant eu Android Studio 2.3 Canary 2 + Support libs 25.0.1.

On dirait qu'il n'est tout simplement pas possible de (jamais} _ mettre à niveau Android Studio ou ses bibliothèques de support sans passer des heures sur ce genre de choses, hein?

Merci pour toutes les allusions, merci-

METTRE &AGRAVE; JOUR

On dirait que je ne suis pas le seul. Vous avez trouvé un bogue enregistré ici, qui a déjà été marqué par de nombreuses personnes:

https://code.google.com/p/Android/issues/detail?id=230183

UPDATE 2

Encore un problème avec AS 2.3 Beta 1. Je ne vois toujours pas mes mises en page. Même erreur Java.lang.NoSuchFieldError: ViewBackgroundHelper partout.

21
Matthew Housser

Tout fonctionne maintenant.

  1. J'ai mis à niveau aujourd'hui le dernier Android Studio: 2.3 Beta 3
  2. J'ai été invité à mettre à jour à la dernière com.Android.tools.build:gradle:2.3.0-beta3

Redémarré, invalidé, reconstruit; tout est enfin parfaitement rendu dans le volet de visualisation pour la première fois en 6 semaines.

On dirait qu'ils l'ont corrigé. Finalement.

5
Matthew Housser

Selon le suivi des problèmes, au 10 janvier 2017:

https://code.google.com/p/Android/issues/detail?id=230183

Pour ceux d'entre vous qui utilisent le plugin Gradle 2.3.0-beta1, pourriez-vous s'il vous plaît désactiver le cache de construction en ajoutant

Android.enableBuildCache=false

dans votre fichier gradle.properties et laissez-nous savoir si cela résout le problème pour vous. Après avoir ajouté la ligne à votre fichier gradle.properties, veuillez reconstruire le projet.

Merci.

A prouvé sa capacité à résoudre le problème pour certains utilisateurs.

6
Tim Malseed

J'ai classé le problème sur le tracker. D'autres participants ont découvert que la suppression de certaines dépendances de bibliothèques autres qu'Android provoquait la résolution du problème. Sur la base de cela, j'ai trouvé une solution (republiée à partir du fil de discussion):

Informations complémentaires après avoir enquêté davantage:

Android Studio 2.2.3
Version n ° AI-145.3537739, construite le 2 décembre 2016
JRE: 1.8.0_76-release-b03 AMD64
JVM: serveur OpenJDK 64 bits VM par JetBrains s.r.o

Bibliothèques de support: 25.1.0
Outils de construction: 25.0.2

Après avoir été en mesure de reproduire cela sur la version studio ci-dessus (2.2.3 Stable), j'ai commencé à supprimer d'autres dépendances de bibliothèque en fonction des informations fournies par d'autres utilisateurs de ce fil. Après avoir supprimé la bibliothèque de calligraphie ( https://github.com/chrisjenx/Calligraphy ) et le code associé, l'aperçu de la présentation a de nouveau fonctionné correctement.

Chose intéressante, j'ai pu rajouter la bibliothèque Calligraphy et l'aperçu de la mise en page a continué de fonctionner. Peut-être que cela indique une sorte de problème de cache avec le plugin Android Gradle? 

Pour les autres personnes rencontrant ce problème, je suggère ce qui suit:
1. Identifiez la bibliothèque à l'origine du problème
2. Supprimer la dépendance de la bibliothèque et le code associé
3. Faire un nettoyage complet et construire
4. Vérifier que l'aperçu de la mise en page fonctionne
5. Rajoutez la dépendance de la bibliothèque
6. Faire un nettoyage complet et construire
7. Vérifier que l'aperçu de la mise en page fonctionne

Remarque: je soupçonnais que Calligraphy était à l'origine du problème car il reposait sur un attribut XML personnalisé appelé "fontPath", ainsi que sur certaines manipulations de contexte. Si vous avez des bibliothèques qui manipulent View sous le capot, je suggère de les supprimer en premier.

2
Jeff Jones

Changez votre style AppTheme en ceci:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
1
Darush

J'ai une solution le problème n'est pas la version d'Android Studio.

Le problème, c’est que la version Gradle retourne à la version stable 2.2.3, elle marche après quelques tests. Il s'agit d'un bug en version beta et il a déjà été signalé à Google.

0
juanpaternina

J'ai résolu ce problème dans les prochaines étapes

  • Supprimez <projet>/<module>/build/build/intermediates/exploded-aar
  • Reconstruire le projet
  • Vérifiez qu'il n'y a qu'une seule version support-library dans exploded-aar
0
Takao Sumitomo