Android Studio ne déploie pas les modifications dans l'application

96

Parfois, ce scénario se produit lors du développement. Je modifierais mon code source, appuyez sur Enregistrer tout, puis exécutez, mais le changement ne serait apparemment pas reflété dans l'application - (j'utilise un appareil pour les tests). Je peux même désinstaller l'application sur mon appareil et appuyer à nouveau sur Exécuter et l'application nouvellement installée n'a toujours pas reflété le changement dans le code source. Lorsque cela se produit, je dois modifier la source, appuyer sur Exécuter et peut-être qu'une nouvelle version avec les modifications attendues sera sur l'appareil.

J'ai également essayé la solution ici, mais cela ne semble pas fonctionner souvent.

Android Studio - déploie mon application sans nouvelles modifications

Simplement Brian
la source
veuillez vérifier ceci et cette réponse.
Amit Vaghela
Avez-vous trouvé une solution de contournement à ce problème? J'ai déjà fait face à cela et Clear, Rebuild ou tout simplement redémarrer Android Studio a fonctionné. Mais aujourd'hui, RIEN ne semble résoudre ce problème. Je désinstalle Studio et je vais l'installer à nouveau et voir si quelque chose change. Je ne pense pas que ce soit un problème Instant Run. Je soupçonne que cela commence à se produire après une installation manuelle que j'ai effectuée aujourd'hui à adbpartir du terminal. Ce que j'ai essayé: - nettoyer, reconstruire, invalider les caches et redémarrer Studio - forcer l'arrêt, nettoyer les données et désinstaller l'application de l'appareil - redémarrer l'ordinateur et l'appareil
Gabriel Gularte

Réponses:

74

J'ai le même problème. Ce fil est apparu en premier lorsque je l'ai cherché. Résolu (j'espère) en n'utilisant pas la fonction Instant Run. Ce n'est peut-être pas la meilleure solution, mais cela fonctionne pour le moment.

Allez simplement dans "Fichier -> Paramètres -> Construction, Exécution, Déploiement -> Exécution instantanée" et désactivez-le. Avec cet Android Studio se construit à partir de zéro à chaque fois, mais c'est mieux que de ne pas le construire correctement.

Mini coup de gueule: presque chaque version d'Android Studio est livrée avec un bogue ennuyeux. Ils sont sur le point de sortir la version 2 mais sa version bêta est toujours boguée. J'espère qu'ils stabiliseront l'IDE dans un proche avenir.

Göktay K.
la source
3
J'utilise Android Studio 2.1 et j'ai toujours le même problème. La seule solution était de désactiver l'exécution instantanée :(
radu_paun
5
Avoir ce problème même avec "Instant Run" désactivé, assez ennuyeux !!! AS 2.1.2. 'Clean' help ...
pvllnspk
1
Si quelqu'un d'autre le cherche également, sur OS X, vous pouvez le trouver sousFile -> Preferences -> Build, Execution, Deployment
Gian Luca Scoccia
Je pense que la désactivation de l'exécution instantanée n'est pas une bonne solution. Il a tellement d'avantages et un seul bug.
Milad Faridnia
3
J'utilise Android Studio 3.2 Canary 13 avec Instant Run désactivé et ce problème persiste.
mr5
95

EDIT2 (09/03/2020)

Si vous utilisez gradle 6.0 dans votre gradle-wrapper.properties, vous pouvez également rencontrer une situation similaire car il y a ce bogue dans la version 6.0. Essayez plutôt la version 6.0.1.


Hier (27/03/2018) Android Studio a publié une mise à jour officielle de la 3.0.1 à la 3.1, et il semble que beaucoup de gens (moi y compris) recommencent à rencontrer ce problème.

Crédit au commentaire n ° 5 ici , voici comment cela a été résolu:

Dans Android Studio, accédez à Run> Edit Configuration.

Sous Before launch:, si vous ne trouvez pas Gradle-aware Make, comme ci-dessous:

entrez la description de l'image ici

Ajouter Gradle-aware Makeet laisser Taskvide.

entrez la description de l'image ici

Attention : je ne sais pas ce que ces actions signifient et si elles causeront des effets secondaires. Appréciez si quelqu'un peut donner plus d'explications à ce sujet!

ÉDITER

Grâce à @ChristopherSmit référencé, cette page mentionne que Gradle-aware makesignifie "Compilez le projet et lancez Gradle".
Au début, je suppose que cela peut faire Runprendre plus de temps même si aucun code n'a été modifié; mais après les tests, la deuxième fois est encore beaucoup plus rapide si aucun code n'a été modifié.
Étant donné qu'il s'agit d'une option par défaut si vous créez un nouveau projet en utilisant AS 3.1, je pense que cette configuration est assez sûre.

Sira Lam
la source
1
Vous en trouverez l'explication ici: developer.android.com/studio/run/rundebugconfig.html . Dans le tableau ci-dessous "Définir les opérations avant le lancement"
Christopher Smit
Je vous remercie! J'ai perdu plus de 24 heures à réparer mon code et à me demander pourquoi ce changement de code ne fonctionne pas. Je n'avais aucune idée qu'il y avait quelque chose comme ça aussi.
Bhavesh Bansal
NE FONCTIONNE PAS: Erreur lors de la génération des dépendances divisées APK com.android.ide.common.process.ProcessException: Impossible d'exécuter aapt
android51130
1
@ android51130 En fait, j'ai trouvé un "article plus grand" ici . Il semble que la désactivation de l'exécution instantanée résoudra.
Sira Lam
@SiraLam "run" fonctionne très bien avec une exécution instantanée désactivée, le problème est "wtf continue ici" avec une exécution instantanée dans le studio 3.1. J'ai besoin d'une course instantanée, et vous aussi :)))
android51130
40

J'ai eu le même problème, en utilisant Android Studio 2.0.0, je l'ai résolu en reconstruisant mon projet.

Build > Rebuild Project

Image GUI

ou par Clean and Rerun

Run > Clean and Rerun

Nettoyer et réexécuter

Rüdiger
la source
Dois-je le faire à chaque fois que j'apporte des modifications à mes fichiers XML? Comme je peux le voir chaque fois que je modifie le fichier XML d'animation. Il ne déploie pas de nouvelles modifications jusqu'à ce que je nettoie et reconstruise à nouveau l'application
Jigar
c'est le problème - de devoir le faire à chaque changement .. google allez, corrigez cette merde - faites "courir" pour enregistrer, construire et déployer.
NBApps
10
2018 - AS 3.2.0 et nous devons encore faire face à cela
Androiderson
2
Je rencontre sérieusement ce problème juste après la mise à jour d'AS 3.0 vers 3.1. Je dois reconstruire le projet à chaque fois ....
Sira Lam
4
Même problème après la mise à jour d'AS de 3.0 à 3.1.
Bandzio
11

Ce fut un vrai problème jusqu'à ce que je réalise que mes modifications ne doivent pas être propagées à tous les fichiers pertinents ...

Si vous rencontrez des problèmes avec les mises en page, comme moi, vous constaterez peut-être que vous devez mettre à jour la mise en page dans le dossier res> layout-v17 . J'avais apporté des modifications via la vue Conception dans le dossier de mise en page et ces modifications semblaient être propagées automatiquement à layout-v17 , au départ. Cependant, les modifications ultérieures WEREN'T.

Vérifiez votre dossier res> layout-v17 et voyez si les fichiers .xml de ce dossier reflètent les changements que vous voyez dans votre dossier res> layout . Vous constaterez probablement que non. Corrigez ce problème et redéployez. Comme moi, vous devriez voir les nouveaux mods de code.

J'espère que cela t'aides.

Alek Slodowska
la source
2

Pour l'instant, j'ai résolu le problème en fermant l'application et en la relançant. Ça a marché comme sur des roulettes. Je ne sais pas encore si c'est une coïncidence, mais je suppose que cela vaut la peine de l'essayer.

Je me demande vraiment si cela fonctionne aussi pour d'autres personnes. Essayons-le et laissez-moi savoir.

ugur
la source
Pour une application native de réaction, la solution était de quitter et de relancer le packager de réaction
Mike Lyons
2

Dans Android Studio 3.6.3, vous pouvez activer le redémarrage automatique en cas d'échec de l'exécution instantanée.

Allez simplement dans Fichier | Paramètres | Construction, exécution, déploiement | Déploiement et cochez les cases.

Paramètres

Simona Stoyanova
la source
1

J'ai également résolu le problème en n'utilisant pas la fonction Instant Run. Ce n'est peut-être pas la meilleure solution, mais cela fonctionne pour le moment. J'utilise Android Studio 2.0 beta 2 ...

Rocco Foti
la source
1
s'il vous plaît élaborer plus sur vos réponses afin que les autres utilisateurs puissent en bénéficier ... ajouter étape par étape, etc ...
Juan Boero
4
Quelqu'un d'autre a déjà publié ceci comme réponse. Au lieu de republier, envisagez de voter pour la réponse existante une fois que vous avez suffisamment de représentants.
OhBeWise
1

Pour moi, l'exécution instantanée était un cauchemar, des temps de construction de 2 à 5 minutes et, de manière exaspérante souvent, les modifications récentes n'étaient pas incluses dans les versions. Je recommande vivement de désactiver l'exécution instantanée et d'ajouter cette ligne à gradle.properties:

android.enableBuildCache=true

La première construction prend souvent un certain temps pour les grands projets (1 à 2 minutes), mais après sa mise en cache, les versions suivantes sont généralement rapides à la lumière de la nuit (<10 secondes).

Vous avez cette astuce de l'utilisateur reddit / u / QuestionsEverythang qui m'a évité tellement de tracas avec l'exécution instantanée!

landonmutch
la source
1

Assurez-vous que vous n'avez pas de disposition alternative. Si vous le faites, vous pourriez en changer un et en déployer un autre.

nPcomp
la source
0

Le même problème a commencé à se produire après la mise à niveau de la buildVersion à partir de 23. J'ai essayé de supprimer les AVD et de les recréer, de se synchroniser avec Gradle Files. Rien n'a aidé. La réinstallation complète d'Andriod Studio a résolu le problème. Ce n'est peut-être pas la solution, mais cela n'a fonctionné que pour moi.

kann
la source
0

La chose qui a fonctionné pour moi a été d'ajouter un mauvais xml à l'un de mes fichiers xml de mise en page, d'essayer de construire et d'obtenir une erreur, puis d'annuler la modification et de déboguer à nouveau. Pas joli, mais assez rapide.

Une autre chose qui semble fonctionner la plupart du temps: débranchez et reconnectez votre téléphone / appareil de développement. Cela semble forcer une réinstallation, au moins sur ma machine Linux.

Guz
la source
0

J'aime la fonctionnalité Instant Run et je n'aime pas la désactiver uniquement à cause de ce bogue. Pas une solution, mais comme une meilleure solution de contournement, je préférerais:

  1. Appuyez sur "Applications récentes"
  2. Fermez simplement mon application de la liste
  3. Exécutez à nouveau l'application

Cela prend moins de temps que nettoyer ou reconstruire .

METTRE À JOUR

Réexécuter l'application fonctionne également:

entrez la description de l'image ici

Milad Faridnia
la source
0

J'ai le même problème, j'ai décoché l'exécution instantanée et j'ai également essayé "l'option nettoyer et exécuter" mais cela ne fonctionne pas. J'ai essayé de le synchroniser progressivement, mais j'avais toujours le problème. Il n'est résolu que si je le reconstruit complètement en supprimant le dossier de construction.

Leons
la source
0

J'ai eu le même problème, j'ai tout essayé, comme nettoyer et reconstruire, gradle-sync, même désinstaller et installer l'application, mais en notant cela a fonctionné. Les autres appareils fonctionnaient bien mais dans mon mobile, le problème persistait. Ensuite, j'ai réalisé que j'avais accidentellement un fichier de mise en page en double layout-v26et que je faisais des modifications dans ce fichier, ce qui explique pourquoi la conception ne se mettait pas à jour. Je viens donc de supprimer la mise en page dupliquée de Project>app>main>res>layout-v26et le problème a été résolu. Assurez-vous donc que vous n'avez créé aucun de ces fichiers sans vous en rendre compte.

Nitish kumar
la source
-1

Vous pouvez comprendre si le code est déployé ou non en plaçant un point d'arrêt de débogage sur la nouvelle ligne que vous avez ajoutée. S'il y a une croix sur le point d'arrêt, cela signifie qu'il n'est pas déployé. Vous devez nettoyer et reconstruire le projet.

Murat
la source