Android Studio non distribuisce le modifiche all'app


96

A volte questo scenario si verifica durante lo sviluppo. Vorrei apportare una modifica al mio codice sorgente, premere Salva tutto e quindi eseguire, ma la modifica non apparentemente sarebbe non riflessa nell'app - (Sto usando un dispositivo per il test). Posso persino disinstallare l'app sul mio dispositivo e premere di nuovo Esegui e l'app appena installata non ha ancora riflesso la modifica nel codice sorgente. Quando ciò accade, devo modificare la fonte, premere Esegui e forse una nuova versione con le modifiche che mi aspettavo sarà sul dispositivo.

Ho anche provato la soluzione qui, ma non sembra funzionare spesso.

Android Studio: distribuisce la mia app senza nuove modifiche


per favore controlla questo e questa risposta.
Amit Vaghela

Hai trovato una soluzione a questo problema? Ho già affrontato questo problema e Clear, Rebuild o semplicemente riavvia Android Studio ha funzionato. Ma oggi, NULLA sembra risolvere questo problema. Sto disinstallando Studio e lo installerò di nuovo per vedere se qualcosa cambia. Non credo che questo sia un problema di Instant Run. Ho il sospetto che inizi a verificarsi dopo un'installazione manuale che ho fatto oggi utilizzando adbdal terminale. Cose che ho provato: - pulire, ricostruire, invalidare le cache e riavviare Studio - forzare l'arresto, pulire i dati e disinstallare l'app dal dispositivo - riavviare computer e dispositivo
Gabriel Gularte

Risposte:


74

Ho lo stesso problema. Questo thread è apparso per primo quando l'ho cercato. Risolto (sperando così) non utilizzando la funzione Instant Run. Potrebbe non essere la soluzione migliore, ma per ora funziona.

Basta andare su "File -> Impostazioni -> Build, Execution, Deployement -> Instant Run" e disabilitarlo. Con questo Android Studio si crea da zero ogni volta, ma è meglio che non costruirlo correttamente.

Mini rant: quasi ogni versione di Android Studio viene fornita con un fastidioso bug. Stanno per rilasciare la versione 2 ma la sua beta è ancora buggata. Spero che stabilizzino l'IDE nel prossimo futuro.


3
Sto usando Android Studio 2.1 e ho ancora lo stesso problema. L'unica soluzione era disabilitare la corsa istantanea :(
radu_paun

5
Avere questo problema anche con "Instant Run" disabilitato, abbastanza fastidioso !!! AS 2.1.2. 'Clean' aiuta ...
pvllnspk

1
Se anche qualcun altro lo sta cercando, su OS X lo trovi sottoFile -> Preferences -> Build, Execution, Deployment
Gian Luca Scoccia

Penso che disabilitare l'esecuzione istantanea non sia una buona soluzione. Ha tanti vantaggi e un solo bug.
Milad Faridnia

3
Sto utilizzando Android Studio 3.2 Canary 13 con Instant Run disabilitato e il problema persiste.
mr5

95

EDIT2 (2020-03-09)

Se stai usando gradle 6.0 nel tuo gradle-wrapper.properties, potresti anche incontrare una situazione simile perché c'è questo bug nella versione 6.0. Prova invece 6.0.1.


Ieri (2018-03-27) Android Studio ha pubblicato un aggiornamento ufficiale dalla 3.0.1 alla 3.1 e sembra che molte persone (me compreso) ricomincino a riscontrare questo problema.

Ringraziamo il commento n.5 qui , di seguito è come si è risolto:

In Android Studio, vai a Run> Edit Configuration.

Sotto Before launch:, se non riesci a trovare Gradle-aware Make, proprio come sotto:

inserisci qui la descrizione dell'immagine

Aggiungi Gradle-aware Makee lascia Taskvuoto.

inserisci qui la descrizione dell'immagine

Avvertenza : non so cosa significhino queste azioni e se causerà effetti collaterali. Apprezzo se qualcuno può dare più spiegazioni su di esso!

MODIFICARE

Grazie a @ChristopherSmit referenziato, questa pagina menziona che Gradle-aware makesignifica "Compila il progetto ed esegui Gradle".
All'inizio immagino che questo potrebbe Runrichiedere più tempo anche se nessun codice è stato modificato; ma dopo il test, la seconda volta è ancora molto più veloce se nessun codice è stato modificato.
Dato che questa è un'opzione predefinita se crei un nuovo progetto usando AS 3.1, penso che questa configurazione sia abbastanza sicura.


1
Troverai la spiegazione di questo qui: developer.android.com/studio/run/rundebugconfig.html . Nella tabella sottostante "Definisci le operazioni prima del lancio"
Christopher Smit

Grazie! Ho sprecato più di 24 ore per correggere il mio codice e chiedendomi perché la modifica del codice non funziona. Non avevo idea che ci fosse anche qualcosa di simile.
Bhavesh Bansal

NON FUNZIONANTE: errore durante la generazione
dell'APK

1
@ android51130 In realtà ho trovato un "post più grande" qui . Sembra che la disabilitazione della corsa istantanea risolverà.
Sira Lam

@SiraLam "run" funziona bene con l'esecuzione istantanea disabilitata, il problema è "wtf sta succedendo qui" con l'esecuzione istantanea in Studio 3.1. Ho bisogno di una corsa istantanea, e anche tu :)))
android51130

40

Ho avuto lo stesso problema, utilizzando Android Studio 2.0.0, l'ho risolto ricostruendo il mio progetto.

Build > Rebuild Project

Immagine GUI

o da Clean and Rerun

Run > Clean and Rerun

Pulisci e riesegui


Devo farlo ogni volta che apporto alcune modifiche ai miei file XML? Come posso vedere che ogni volta che apporto modifiche nel file XML di animazione. Non distribuisce nuove modifiche fino a quando non pulisco e ricostruisco nuovamente l'app
Jigar

questo è il problema - doverlo fare con ogni modifica .. google dai, aggiusta questa merda - fai "correre" per salvare, costruire e distribuire.
NBApps

10
2018 - AS 3.2.0 e dobbiamo ancora occuparci di questo
Androiderson

2
Sto riscontrando seriamente questo problema subito dopo l'aggiornamento da AS 3.0 a 3.1. Devo ricostruire il progetto ogni volta ...
Sira Lam

4
Stesso problema dopo l'aggiornamento di AS da 3.0 a 3.1.
Bandzio

11

Questo è stato un vero ostacolo finché non mi sono reso conto che le mie modifiche non dovevano essere propagate a tutti i file rilevanti ...

Se hai problemi con i layout, come me, potresti scoprire che devi aggiornare il layout nella cartella res> layout-v17 . Avevo apportato modifiche tramite la visualizzazione progettazione nella cartella layout e tali modifiche sembravano essere propagate automaticamente a layout-v17 , inizialmente. Tuttavia, le modifiche successive NON SONO.

Controlla la tua cartella res> layout-v17 e vedi se i file .xml in quella cartella riflettono le modifiche che stai vedendo nella tua cartella res> layout . Probabilmente scoprirai che non lo fanno. Risolvi il problema e ridistribuisci. Come me, dovresti vedere le nuove mod del codice.

Spero che questo ti aiuti.


2

Per ora ho risolto il problema chiudendo l'app ed eseguendo di nuovo. Ha funzionato come un fascino. Non sono ancora sicuro se sia una coincidenza, ma credo che valga la pena provarlo.

Mi chiedo davvero se funziona anche per altre persone. Proviamo e fammi sapere.


Per un'app nativa di React, la soluzione era chiudere e riavviare il packager di React
Mike Lyons

2

In Android Studio 3.6.3 è possibile abilitare il riavvio automatico se l'esecuzione istantanea non riesce.

Basta andare su File | Impostazioni | Build, esecuzione, distribuzione | Distribuzione e seleziona le caselle di controllo.

impostazioni


1

Anche io l'ho risolto non usando la funzione Instant Run. Potrebbe non essere la soluzione migliore, ma per ora funziona. Utilizzo Android Studio 2.0 beta 2 ...


1
si prega di elaborare di più sulle tue risposte in modo che altri utenti possano trarne vantaggio ... aggiungi passo dopo passo, ecc ...
Juan Boero

4
Qualcun altro l'ha già postato come risposta. Invece di ripubblicare, valuta la possibilità di votare la risposta esistente una volta che hai abbastanza rappresentante.
OhBeWise

1

Per me la corsa istantanea è stata un incubo, i tempi di compilazione di 2-5 minuti e, spesso esasperante, le modifiche recenti non sono state incluse nelle build. Consiglio vivamente di disabilitare l'esecuzione istantanea e di aggiungere questa riga a gradle.properties:

android.enableBuildCache=true

La prima compilazione richiede spesso un po 'di tempo per progetti di grandi dimensioni (1-2 minuti), ma dopo che è stata memorizzata nella cache le build successive sono generalmente veloci come la luce della notte (<10 secondi).

Ho ricevuto questo suggerimento da reddit user / u / QuestionsEverythang che mi ha risparmiato così tante seccature con la corsa istantanea!


1

Assicurati di non avere un layout alternativo. Se lo fai, potresti cambiarne uno e distribuirne un altro.


0

Lo stesso problema è iniziato a verificarsi dopo aver aggiornato buildVersion da 23. Ho provato a rimuovere AVD e ricrearlo, sincronizzandomi con Gradle Files. Niente ha aiutato. La reinstallazione completa di Andriod Studio ha risolto il problema. Questa potrebbe non essere la soluzione, ma ha funzionato solo per me.


0

La cosa che ha funzionato per me è stata l'aggiunta di un xml non valido a uno dei miei file xml di layout, provare a compilare e ottenere un errore, quindi annullare la modifica ed eseguire nuovamente il debug. Non carino, ma abbastanza veloce.

Un'altra cosa che sembra funzionare la maggior parte del tempo: scollegare e ricollegare il telefono / dispositivo di sviluppo. Questo sembra forzare una reinstallazione, almeno sulla mia macchina Linux.


0

Mi piace la funzionalità di esecuzione istantanea e non mi piace disabilitarla solo a causa di questo bug. Non è una soluzione, ma come soluzione migliore preferirei:

  1. Premi "App recenti"
  2. Chiudi semplicemente la mia app dall'elenco
  3. Esegui di nuovo l'app

Questo richiede meno tempo rispetto a Pulisci o Ricostruisci .

AGGIORNARE

Rieseguire l'app funziona anche:

inserisci qui la descrizione dell'immagine


0

Ho lo stesso problema, ho deselezionato l'esecuzione istantanea e ho anche provato "pulisci ed esegui opzione" ma non funziona. Ho provato a sincronizzarlo gradle, ma ho ancora avuto il problema. Viene risolto solo se lo ricostruisco completamente eliminando la cartella di build.


-1

È possibile capire se il codice viene distribuito o meno inserendo un punto di interruzione di debug nella nuova riga aggiunta. Se è presente una croce sul punto di interruzione, significa che non è distribuito. Devi pulire e ricostruire il progetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.