Android Studio 3.1 «Exécuter» ne compile pas de code

87

Lorsque j'essaye d'installer une application, il y a deux possibilités:

  1. Installez l'APK existant à partir du dossier de construction lorsque j'exécute le app
  2. Installez l'APK après avoir effectué clean build

Pour l'APK existant dans le dossier de construction, l'application fonctionne parfaitement. Mais lorsque je nettoie le projet à l'aide de Build-> Clean Project, puis que j'essaie d'exécuter le app(c'est-à-dire d'installer l'application sur mon émulateur ou mon appareil physique), cela me montre une erreur:

Le fichier APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk n'existe pas sur le disque.

REMARQUE: ce comportement se produit uniquement lorsque je nettoie le projet et non lorsque j'ai déjà un fichier APK d'application prédéfini dans mon dossier de construction

Je me suis référé à: Le fichier APK n'existe pas sur le disque, mais mon point est que, lorsque nous exécutons généralement l'application après le nettoyage du projet, nous n'avons jamais besoin d'en créer une version, si l'APK n'existe pas dans le dossier de construction , il génère et installe automatiquement le dernier.

Les choses que j'ai essayées:

  1. Exécuter l'application lorsque le fichier APK existe dans le dossier de construction (fonctionne parfaitement bien)
  2. Exécution du Clean Project-> Exécution de l'application (le projet serait généré et l'application serait installée, mais cela affiche l'erreur mentionnée ci-dessus!)
  3. Même processus de nettoyage et d'exécution de l'application après l'avoir fait Invalidate Caches/Restart
Sneh Pandya
la source
3
Build -> Clean Project->Rebuild Project
IntelliJ Amiya
@IntelliJAmiya exactement comme vous l'avez dit, mais le fait est que lorsque je reconstruis le projet, cela fonctionne sûrement, mais ne devrait-il pas générer l'APK et fonctionner de la même manière si je lance l'application?
Sneh Pandya
Vérifiez ce lien pour la réponse: stackoverflow.com/a/49508278/3806413
0xAliHn

Réponses:

151

J'ai une solution à votre problème. J'espère que cela aide!

Également confirmé par Android Studio sur Twitter : https://twitter.com/androidstudio/status/981914632892960768

1) Veuillez modifier la configuration de votre application comme ci-dessous.

entrez la description de l'image ici

2) Ici, vous pouvez voir la configuration de votre application comme ci-dessous.

entrez la description de l'image ici

3) Il manque ici l'attribut make prenant en charge Gradle avant le lancement de la configuration. Vous pouvez voir ici.

entrez la description de l'image ici

4) Veuillez ajouter cet attribut Make compatible Gradle de cette manière. Cliquez sur l'icône + et sélectionnez Faire sensible à Gradle comme indiqué sur cet écran.

entrez la description de l'image ici

5) Vous pouvez ajouter ceci sans écrire de tâche, appuyez simplement sur le bouton OK et la tâche sera ajoutée et maintenant elle devrait ressembler à ceci. Maintenant, appliquez les modifications et exécutez votre application.

entrez la description de l'image ici

J'espère que cela résoudra ce vieux problème d'installation d'apk sur une version propre dans le nouveau problème Android Studio 3.1.

Remarque: ce problème est résolu dans la nouvelle version stable d' Android Studio 3.1.1 .

Bon codage !!

Sagar Kacha
la source
1
Il semble que si vous modifiez votre code et exécutez l'application, il ne s'agit pas de créer l'application uniquement en exécutant l'ancien code. Cette solution a fonctionné pour moi.
Vicky
NE FONCTIONNE PAS: L'arrêt s'est terminé dans 0 ms Erreur lors de la génération des dépendances divisées APK com.android.ide.common.process.ProcessException: Impossible d'exécuter aapt sur com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) sur com .android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) à com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)
android51130
@ android51130 Cela fonctionne pour moi. Pouvez-vous s'il vous plaît vérifier la configuration de l'autre gradle de votre projet. Je pense que ce serait un problème.
Sagar Kacha
@ android51130 Oui, exactement. Actuellement, dans ma configuration, l'exécution instantanée est désactivée. Donc, cette solution fonctionne pour moi.
Sagar Kacha
1
J'ai eu ce problème dans la dernière version de Canary AS 4.2 pendant longtemps. Cela a résolu ce problème, merci.
muthuraj
3

Le fichier APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk n'existe pas sur le disque.

Peut-être un bug. Vous devez modifier les paramètres.

Vous devez ouvrir le Run/Debug Configurations dialog& sélectionnerRun > Edit Configurations

Assurez-vous, Gradle-aware Makeest ajouté dans la liste des tâches ou non. Sinon, cliquez +et sélectionnez parmi les options.

entrez la description de l'image ici

Remarque

Si vous recevez

L'arrêt s'est terminé dans 0 ms Erreur lors de la génération des dépendances divisées APK com.android.ide.common.process.ProcessException: échec de l'exécution de aapt sur com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) sur com.android. builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) à com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)

Vous devriez décocher INSTANT RUN.

Fichier - Paramètres - Génération, Exécution, Déploiement - Exécution instantanée et décochez Activer l' exécution instantanée .

IntelliJ Amiya
la source
1
Oui, cela fonctionnera en reconstruction car la configuration est déjà configurée avec une exécution instantanée. Mais ne fonctionnera pas sur une combinaison de projet propre et d'exécution.
Sagar Kacha
1
@SaguKacha En effet.
IntelliJ Amiya
NE FONCTIONNE PAS: L'arrêt s'est terminé dans 0 ms Erreur lors de la génération des dépendances divisées APK com.android.ide.common.process.ProcessException: Impossible d'exécuter aapt sur com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) sur com .android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) à com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)
android51130
@ android51130 Quel est votre buildToolsVersion ?
IntelliJ Amiya
@IntelliJAmiya 26.0.2
android51130
2

nettoyez votre projet et relancez

Si ça ne marche pas alors

  • Étape 1 Fermez votre projet.
  • Étape 2 Accédez au dossier de votre projet et supprimez tous les dossiers de construction.
  • Étape 3 Exécutez votre projet.
Vishal Sojitra
la source
1
J'ai également essayé de fermer le projet, de fermer Android Studio et d'exécuter des caches invalides / redémarrer mais pas de chance, après le nettoyage de l'application, il affiche toujours l'erreur, et étrangement, si le projet est construit, il exécute toujours le même APK qui se trouve dans le dossier de construction sans mise à jour avec tous les changements.
Sneh Pandya
avez-vous essayé l'étape 2? allez dans votre dossier de projet et supprimez tout le dossier de construction avec le dossier de construction de module.
Vishal Sojitra
Oui, j'ai également supprimé le dossier de construction, rien ne fonctionne!
Sneh Pandya
desable instan courir et tout recommencer.
Vishal Sojitra
avez-vous une solution?
Vishal Sojitra
0

Ce problème a été résolu avec la version Android Studio 3.1.1 (avril 2018). Mettez à jour votre studio Android vers 3.1.1.

Voici une explication reprenant les détails du problème, sa cause et sa solution:

Dans certains cas, lorsqu'un projet créé dans 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.Le résultat était que les projets n'étaient pas générés lorsque le bouton Exécuter ou Déboguer était cliqué, ce qui à son tour provoquait des échecs tels que le déploiement d'APK incorrects et des plantages lors de l'utilisation d'Instant Run.

Pour résoudre ce problème, Android Studio 3.1.1 adds the Gradle-aware Make task to the run configuration for projects that are missing this entry.cette modification se produit après la première synchronisation Gradle lorsque le projet est chargé.

Notes de version officielles: https://developer.android.com/studio/releases/index.html#3-1-0

0xAliHn
la source