Android Studio 3.1 "Esegui" non compila codice


87

Quando provo a installare un'app, ci sono due possibilità:

  1. Installa l'APK esistente dalla cartella build quando eseguo il file app
  2. Installa APK dopo aver eseguito clean build

Per l'APK esistente nella cartella build, l'app funziona perfettamente. Ma quando pulisco il progetto usando Build-> Clean Project, e poi provo a eseguire app(cioè installare l'app sul mio emulatore o dispositivo fisico), mi viene mostrato un errore:

Il file APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk non esiste su disco.

NOTA: questo comportamento si verifica solo quando pulisco il progetto e non quando ho già un APK dell'app pre-costruito nella mia cartella di build

Ho fatto riferimento a: Il file APK non esiste su disco ma il mio punto è, quando di solito eseguiamo l'app dopo aver pulito il progetto, non abbiamo mai bisogno di crearne una build, se l'APK non è presente nella cartella build , genera e installa automaticamente l'ultimo.

Cose che ho provato:

  1. Esecuzione dell'app quando il file APK esiste nella cartella build (funziona perfettamente)
  2. Esecuzione del Clean Project-> Esecuzione dell'app (previsto è che il progetto verrà costruito e l'app verrà installata ma mostra l'errore sopra menzionato!)
  3. Stesso processo di pulizia ed esecuzione dell'app dopo averlo fatto Invalidate Caches/Restart

3
Build -> Clean Project->Rebuild Project
IntelliJ Amiya

@IntelliJAmiya esattamente come hai detto, ma il punto qui è che quando ricostruisco il progetto, funziona sicuramente, ma non dovrebbe generare l'APK e funzionare allo stesso modo se eseguo l'app?
Sneh Pandya

Controllare questo link per la risposta: stackoverflow.com/a/49508278/3806413
0xAliHn

Risposte:


151

Ho una soluzione per il tuo problema. Spero che sia d'aiuto!

Confermato anche da Android Studio su Twitter : https://twitter.com/androidstudio/status/981914632892960768

1) Modifica la configurazione dell'app come di seguito.

inserisci qui la descrizione dell'immagine

2) Qui puoi vedere la configurazione della tua app come sotto.

inserisci qui la descrizione dell'immagine

3) Qui manca l'attributo make compatibile con Gradle prima di avviare la configurazione. Puoi vedere qui.

inserisci qui la descrizione dell'immagine

4) Si prega di aggiungere questo attributo Crea sensibile a Gradle in questo modo. Fare clic sull'icona + e selezionare Make-aware Gradle come mostrato in questa schermata.

inserisci qui la descrizione dell'immagine

5) Puoi aggiungerlo senza scrivere alcuna attività, basta premere il pulsante OK e l'attività verrà aggiunta e ora dovrebbe assomigliare a questo. Ora applica le modifiche ed esegui la tua applicazione.

inserisci qui la descrizione dell'immagine

Spero che risolverà questo vecchio problema di installazione di apk su build pulita nel nuovo problema di Android Studio 3.1.

Nota: questo problema è stato risolto nella nuova versione stabile di Android Studio 3.1.1 .

Codifica felice !!


1
Sembra che se modifichi il codice ed esegui l'app, non sta costruendo l'app eseguendo solo il vecchio codice. Questa soluzione ha funzionato per me.
Vicky

NON FUNZIONANTE: Arresto terminato con 0 ms Errore durante la generazione di dipendenze divise APK com.android.ide.common.process.ProcessException: Impossibile eseguire aapt su com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) su com .android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) a com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)
android51130

@ android51130 Per me funziona. Puoi controllare la configurazione dell'altro gradle del tuo progetto. Penso che sarebbe un problema.
Sagar Kacha

@ android51130 Sì, esattamente. Attualmente nella mia configurazione l'esecuzione istantanea è disattivata. Quindi questa soluzione funziona per me.
Sagar Kacha

1
Ho avuto questo problema nell'ultima build AS 4.2 Canary per molto tempo. Questo ha risolto il problema, grazie.
muthuraj

3

Il file APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk non esiste su disco.

Potrebbe essere un bug. Dovresti modificare le Impostazioni.

Dovresti aprire il Run/Debug Configurations dialog& selezionareRun > Edit Configurations

Assicurati che Gradle-aware Makesia aggiunto in TaskList o meno. In caso contrario, fare clic +e selezionare dalle opzioni.

inserisci qui la descrizione dell'immagine

Nota

Se ricevi

Arresto terminato in 0 ms Errore durante la generazione di dipendenze divise APK com.android.ide.common.process.ProcessException: impossibile eseguire aapt su com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) su com.android. builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) su com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)

Dovresti deselezionare INSTANT RUN.

File-- Impostazioni-- Build, Execution, Deployment - Instant Run e deselezionare Enable Instant Run .


1
Sì, funzionerà in ricostruzione perché la configurazione è già impostata con esecuzione istantanea così. Ma non funzionerà su build pulita ed esegui la combinazione di progetti.
Sagar Kacha

1
@SaguKacha Indeed.
IntelliJ Amiya

NON FUNZIONANTE: Arresto terminato in 0 ms Errore durante la generazione di dipendenze suddivise APK com.android.ide.common.process.ProcessException: Impossibile eseguire aapt su com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) su com .android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) su com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java
28:30 su Android5

@ android51130 Qual è il tuo buildToolsVersion ??
IntelliJ Amiya

@IntelliJAmiya 26.0.2
android51130

2

pulisci il tuo progetto ed esegui di nuovo

Se non funziona allora

  • Passaggio 1 Chiudi il progetto.
  • Passaggio 2 Vai alla cartella del progetto ed elimina tutta la cartella di build.
  • Passaggio 3 eseguire il progetto.

1
Ho anche provato a chiudere il progetto, chiudere Android Studio ed eseguire cache invalidate / riavvio ma senza fortuna, dopo aver pulito l'app, mostra sempre l'errore e stranamente, se il progetto è stato creato, esegue sempre lo stesso APK che si trova nella cartella build senza aggiornamento con eventuali modifiche.
Sneh Pandya

hai provato il passaggio 2? vai alla cartella del tuo progetto ed elimina tutta la cartella build con la cartella build del modulo.
Vishal Sojitra

Sì, ho eliminato anche la cartella build, non funziona niente!
Sneh Pandya

desable instan corri e fai tutto di nuovo.
Vishal Sojitra

hai trovato una soluzione?
Vishal Sojitra

0

Questo problema è stato risolto con la versione Android Studio 3.1.1 (aprile 2018). Aggiorna il tuo studio Android alla 3.1.1.

Ecco una spiegazione che rivede i dettagli del problema, la causa e la soluzione:

In alcuni casi, quando un progetto Android Studio 3.0 was opened for the first time in Android Studio 3.1, the Gradle-aware Make task was removed from the Before launch area in Run/Debug Configurations.veniva creato in Il risultato era che i progetti non venivano compilati quando si faceva clic sul pulsante Esegui o Debug, il che a sua volta causava errori come la distribuzione di APK errati e arresti anomali durante l'utilizzo di Instant Run.

Per risolvere questo problema, Android Studio 3.1.1 adds the Gradle-aware Make task to the run configuration for projects that are missing this entry.questa modifica si verifica dopo la prima sincronizzazione Gradle quando il progetto viene caricato.

Note di rilascio ufficiali: https://developer.android.com/studio/releases/index.html#3-1-0

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.