Où Android Studio construit-il mon fichier .apk?


103

J'ai reconstruit mon projet à partir de zéro, donc il y a eu beaucoup de problèmes avec lui. Pour le moment, tout fonctionne très bien, sauf que lorsque j'essaye d'exécuter l'application, j'obtiens le message «Le chemin local n'existe pas». , où le chemin local pointe vers le chemin: AndroidStudioProjects \ MyProject \ MyProject .. \ build \ production \ MyProject.apk , et il est vrai qu'il n'y a pas de fichier .apk à cet emplacement, ni d'ailleurs ailleurs dans le système de fichiers du projet.

Cependant, je peux créer l'application sans problème, et l'exécution de gradlew packageDebug me donne le message « build réussi », donc .apks devrait être généré. Ma question est: où vont-ils, ou s'ils ne sont pas générés, pourquoi pas?

Où est le chemin de construction de chaque ensemble de modules? Je suis quelque peu confus parce que la structure du projet-> Facettes-> Android-> Paramètres du compilateur, la structure du projet-> Modules-> Chemins-> Sortie du compilateur, build.gradle et MyProject.iml semblent tous avoir quelque chose à voir avec le construire un chemin, mais je ne comprends pas très bien comment ils se rapportent

edit: je sais où il devrait être , mais ce n'est pas là donc je veux savoir comment changer le chemin de construction

edit 2: Pour une raison quelconque, l'exécution de gradlew build crée des .apks, mais pas la construction ou l'exécution depuis l'intérieur du programme

edit 3: Voici ma sortie de compilation gradlew, notez qu'elle se construit avec succès:

Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "target" on "com.android.build.gradle.LibraryExtension_Decorated@9e9aabc", value: "android-16".
:TwoWayLib:mergeReleaseProguardFiles UP-TO-DATE
:TwoWayLib:packageReleaseAidl UP-TO-DATE
:TwoWayLib:prepareReleaseDependencies
:TwoWayLib:compileReleaseAidl UP-TO-DATE
:TwoWayLib:generateReleaseBuildConfig UP-TO-DATE
:TwoWayLib:mergeReleaseAssets UP-TO-DATE
:TwoWayLib:compileReleaseRenderscript UP-TO-DATE
:TwoWayLib:mergeReleaseResources UP-TO-DATE
:TwoWayLib:processReleaseManifest UP-TO-DATE
:TwoWayLib:processReleaseResources UP-TO-DATE
:TwoWayLib:compileRelease UP-TO-DATE
:TwoWayLib:processReleaseJavaRes UP-TO-DATE
:TwoWayLib:packageReleaseJar UP-TO-DATE
:TwoWayLib:packageReleaseLocalJar UP-TO-DATE
:TwoWayLib:packageReleaseRenderscript UP-TO-DATE
:TwoWayLib:bundleRelease UP-TO-DATE
:Rogue:prepareRogueProjectTwoWayLibUnspecifiedLibrary UP-TO-DATE
:Rogue:prepareDebugDependencies
:Rogue:compileDebugAidl UP-TO-DATE
:Rogue:generateDebugBuildConfig UP-TO-DATE
:Rogue:mergeDebugAssets UP-TO-DATE
:Rogue:compileDebugRenderscript UP-TO-DATE
:Rogue:mergeDebugResources UP-TO-DATE
:Rogue:processDebugManifest UP-TO-DATE
:Rogue:processDebugResources UP-TO-DATE
:Rogue:compileDebug UP-TO-DATE
:Rogue:dexDebug UP-TO-DATE
:Rogue:processDebugJavaRes UP-TO-DATE
:Rogue:validateDebugSigning
:Rogue:packageDebug
:Rogue:assembleDebug
:Rogue:prepareReleaseDependencies
:Rogue:compileReleaseAidl UP-TO-DATE
:Rogue:generateReleaseBuildConfig UP-TO-DATE
:Rogue:mergeReleaseAssets UP-TO-DATE
:Rogue:compileReleaseRenderscript UP-TO-DATE
:Rogue:mergeReleaseResources UP-TO-DATE
:Rogue:processReleaseManifest UP-TO-DATE
:Rogue:processReleaseResources UP-TO-DATE
:Rogue:compileRelease UP-TO-DATE
:Rogue:dexRelease UP-TO-DATE
:Rogue:processReleaseJavaRes UP-TO-DATE
:Rogue:packageRelease
:Rogue:assembleRelease
:Rogue:assemble
:Rogue:check UP-TO-DATE
:Rogue:build
:TwoWayLib:mergeDebugProguardFiles UP-TO-DATE
:TwoWayLib:packageDebugAidl UP-TO-DATE
:TwoWayLib:prepareDebugDependencies
:TwoWayLib:compileDebugAidl UP-TO-DATE
:TwoWayLib:generateDebugBuildConfig UP-TO-DATE
:TwoWayLib:mergeDebugAssets UP-TO-DATE
:TwoWayLib:compileDebugRenderscript UP-TO-DATE
:TwoWayLib:mergeDebugResources UP-TO-DATE
:TwoWayLib:processDebugManifest UP-TO-DATE
:TwoWayLib:processDebugResources UP-TO-DATE
:TwoWayLib:compileDebug UP-TO-DATE
:TwoWayLib:processDebugJavaRes UP-TO-DATE
:TwoWayLib:packageDebugJar UP-TO-DATE
:TwoWayLib:packageDebugLocalJar UP-TO-DATE
:TwoWayLib:packageDebugRenderscript UP-TO-DATE
:TwoWayLib:bundleDebug UP-TO-DATE
:TwoWayLib:assembleDebug UP-TO-DATE
:TwoWayLib:assembleRelease UP-TO-DATE
:TwoWayLib:assemble UP-TO-DATE
:TwoWayLib:check UP-TO-DATE
:TwoWayLib:build UP-TO-DATE

BUILD SUCCESSFUL

Total time: 10.848 secs

1
duplication possible de l' emplacement Apk dans New Android Studio
Gru

il devrait être là comme expliqué par Alex ou bien vous pouvez vérifier la réponse ci-dessus.
Gru


Le mien était en ./app/release/app-release.apk
Steve Smith

Réponses:


155

Votre application \ app \ build \ sorties \ apk


1
C'est le nouvel emplacement.
Krylez le

Merci - Je l'ai trouvé là-bas pour Android Studios 1.1
Simon

8
il n'y a pas d'enfer, dossier d'application du tout
Shahid Karimi

dans la version plus récente, il est dans YourApplication \ app \ build \ sorties \ apk * .apk
Teerakiat Chitawattanarat

1
À partir de janvier 2020:YourApplication/android/app/build/outputs/apk/release/app-release.apk
Ben Pritchard le

23

Aller au fichier de projets AndroidStudio

  1. Sélectionnez le nom du projet,
  2. Sélectionnez une application
  3. Sélectionnez la construction
  4. Sélectionnez les sorties
  5. Sélectionnez Apk

Vous trouverez les fichiers APK de l'application ici, si vous avez exécuté l'application dans AVD ou même un périphérique matériel


Étrange, j'utilise Android Studio 3.2, dans le répertoire de construction comme vous l'avez mentionné, il n'y a qu'un intermediatesrépertoire, il Outputsmanque.
Allan Ruin

@AllanRuin avez-vous construit l'APK?
kelalaka

veuillez être précis avec les étapes que vous avez mentionnées.
Shubham Arya du

19

Après avoir compilé mon codedans Android Studio, je l'ai trouvé ici:

~ \ MyApp_Name \ app \ build \ sorties \ apk \ app-debug.apk


17

Vous devez créer votre application au lieu du processus de débogage. Suivez simplement ceci:

Build -> Build Bundles/APK(s) -> Build APK(s)

entrez la description de l'image ici


11

J'avais le problème pour trouver mon apk de débogage. Android Studio 0.8.6 n'a pas montré l'apk ni même le dossier de sortie dans project / project / build /. Quand j'ai vérifié le même chemin project / project / build / de l'explorateur de dossiers Windows, j'ai trouvé le dossier «output» et l'apk de débogage à l'intérieur.


L'explorateur se bloque assez dur si vous avez cet emplacement ouvert et 'nettoyer le projet' =)
Tapirboy

Je ne peux pas croire que j'ai perdu autant de temps simplement parce que j'ai oublié cela simplement parce qu'Android Studio ne vous montre pas toujours tous les répertoires ...
Jon McClung

9

Pour Android Studio:

Si vous n'avez pas créé l'APK au moins une fois, vous risquez de ne pas trouver le dossier / Outputs / APK. Accédez à Construire dans Android Studio et l'une des trois dernières options est Construire APK, sélectionnez-la. Il créera ensuite ce dossier et vous y trouverez votre fichier APK.


Tout ce qui précède n'a pas fonctionné pour moi et celui-ci fonctionne. Après Build APKcela, une boîte de dialogue apparaîtra également vous indiquant locatevotre apk, c'est pratique!
Ng Sek Long

5

Lorsque Gradle construit votre projet, il place tous les APK dans le répertoire build / apk. Vous pouvez également simplement exécuter une simple commande de recherche récursive pour * .apk dans le répertoire de niveau supérieur de votre projet.

Voici une meilleure description ...

http://i.stack.imgur.com/XwjEZ.png

Voir l'image complète à http://i.stack.imgur.com/XwjEZ.png


Où ce répertoire est-il défini? Parce que je ne trouve aucun fichier apk nulle part dans mon projet filestsyem
Migwell

Comme dans mon édition - je sais où cela devrait être , mais ce n'est pas là, alors peut-être que le chemin de sortie est cassé d'une manière ou d'une autre?
Migwell

Je l'ai ajouté. La seule chose douteuse est que ma bibliothèque TwoWayLib semble se construire deux fois. Cela n'explique pas pourquoi le studio Android ne peut pas créer des apks
Migwell

J'ai aussi le même problème - ni Gradle ni Android Studio ne créent réellement de fichier apk.
Richard Russell

5

L'APK de l'application minière était à cet endroit

C: \ Users \ haseeb_mir \ AndroidStudioProjects \ MyTestApp \ app \ build \ sorties \ apk \ debug


3

dans android 3.1.0 ci-dessus, utilisez le chemin ci-dessous pour trouver la version signée de l'APK

home/AndroidStudioProjects/<projedct name>/app/app-release.apk

et dans les fenêtres

AndroidStudioProjects\{project name}\app\release\app-release.apk

2

Dans mon cas, pour obtenir ma version de débogage, je dois désactiver l'option 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.

Ensuite, après l'exécution du projet - j'ai trouvé ma construction dans le répertoire Application \ app \ build \ sorties \ appDebug \ apk


0

Jetez un œil à cette question .

TL; DR: nettoyer, puis construire.

./gradlew clean packageDebug 

1
Problème similaire, mais dans mon cas, exécuter cette commande entraîne sa construction une fois, mais cela ne fonctionne toujours pas à l'intérieur du studio Android.
Migwell

1
Il ne crée toujours pas le fichier .apk?
alikonda

0

Lorsque vous avez Android Studio, créez votre fichier apk signé qu'il utilise

    <property name="ExportedApkPath" value="$PROJECT_DIR$/PROJNAME/APPNAME.apk" />

dans workspace.xml pour savoir où le placer. Cependant, si vous l'utilisez, ./gradlew assembleReleaseplacez-le dans PROJNAME / build / apk. J'ai le même problème. Pour une raison quelconque, mon studio Android ne me montrera rien dans le sous-répertoire apk, donc l'apk est à toutes fins utiles manquant. Mais si vous recherchez avec Finder, c'est certainement là.


0

Vous pouvez le trouver dans le

project -> app (or your main app module) -> build -> outputs -> apk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.