Где студия Android создает мой файл .apk?


105

Я перестраивал свой проект с нуля, поэтому с ним было много проблем. На данный момент все работает отлично, за исключением того, что когда я пытаюсь запустить приложение, я получаю сообщение «Локальный путь не существует». , где локальный путь указывает на путь: AndroidStudioProjects \ MyProject \ MyProject .. \ build \ production \ MyProject.apk , и правда, в этом месте или где-либо еще в файловой системе проекта нет файла .apk.

Однако я могу создать приложение без проблем, а запуск gradlew packageDebug дает мне сообщение « сборка успешна », поэтому должен быть сгенерирован .apks . У меня вопрос, куда они идут, или если они не генерируются, почему бы и нет?

Где путь сборки каждого набора модулей? Я несколько смущен, потому что Project Structure-> Facets-> Android-> Compiler settings, Project Structure-> Modules-> Paths-> Compiler Output, build.gradle и MyProject.iml, похоже, как-то связаны с построить путь, но я не совсем понимаю, как они связаны

изменить: я знаю, где он должен быть , но его там нет, поэтому я хочу знать, как изменить путь сборки

изменить 2: по какой-то причине запуск сборки gradlew создает .apks, но не создает или не запускается изнутри программы

изменить 3: Вот мой вывод сборки gradlew, обратите внимание, что он успешно строится:

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
возможный дубликат местоположения Apk в New Android Studio
Gru

он должен быть там, как объяснил Алекс, иначе вы можете проверить ответ выше.
Gru


Мой был в ./app/release/app-release.apk
Steve Smith

Ответы:


156

Ваше приложение \ приложение \ сборка \ выходы \ apk


1
Это новое место.
Крылез

Спасибо - я нашел его там для Android Studios 1.1
Саймон

8
нет никакого ада, папки с приложениями вообще
Шахид Карими

в более новой версии он находится в YourApplication \ app \ build \
output

1
По состоянию на январь '20:YourApplication/android/app/build/outputs/apk/release/app-release.apk
Бен Причард,

23

Перейти к файлу проектов AndroidStudio

  1. Выберите название проекта,
  2. Выберите приложение
  3. Выбрать сборку
  4. Выберите выходы
  5. Выберите Apk

Здесь вы найдете APK-файлы приложения, если вы запускали приложение в AVD или даже на аппаратном устройстве.


Странно, я использую Android Studio 3.2, в каталоге сборки, как вы упомянули, есть только intermediatesкаталог, Outputsотсутствует.
Allan Ruin

@AllanRuin вы создали APK?
kelalaka

пожалуйста, уточните шаги, которые вы упомянули.
Шубхам Арья


18

Вам следует собрать свое приложение вместо процесса отладки. Просто следуйте этому:

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

введите описание изображения здесь


11

У меня возникла проблема с поиском моего отладочного apk. Android Studio 0.8.6 не отображала apk или даже выходную папку в project / project / build /. Когда я проверил тот же путь project / project / build / из проводника папок Windows, я обнаружил там папку «output» и отладочный apk внутри нее.


Explorer довольно сильно вылетает, если у вас есть открытая локация и «чистый проект» =)
Tapirboy

Не могу поверить, что я потратил так много времени только потому, что забыл об этом, только потому, что Android Studio не всегда показывает вам все каталоги ...
Джон МакКланг,

9

Для Android Studio:

Если вы не собирали APK хотя бы один раз, вы можете не найти папку / Outputs / APK. Перейдите в раздел «Сборка в Android Studio» и выберите один из последних трех вариантов - «Сборка APK». Затем он создаст эту папку, и вы найдете там свой APK-файл.


Все вышеперечисленное не сработало для меня, а это работает. После Build APKэтого также появится диалоговое окно, сообщающее locateвашему apk, насколько удобно!
Ng Sek Long

5

Когда Gradle собирает ваш проект, он помещает все APK в каталог build / apk. Вы также можете просто выполнить простую рекурсивную команду поиска для * .apk в каталоге верхнего уровня вашего проекта.

Вот описание получше ...

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

Посмотреть полное изображение на http://i.stack.imgur.com/XwjEZ.png


Где определен этот каталог? Потому что я не могу найти никаких apk-файлов в моем проекте filestsyem
Migwell

Как и в моей редакции - я знаю, где он должен быть , но его там нет, так что, может быть, путь вывода как-то сломан?
Migwell

Я добавил это. Единственная хитрость в том, что моя библиотека TwoWayLib, похоже, строится дважды. Это не объясняет, почему студия Android не может создавать файлы apks
Мигвелл

У меня такая же проблема - ни Gradle, ни Android Studio на самом деле не создают apk-файл.
Ричард Рассел

5

APK моего приложения был в этом месте

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


3

в Android 3.1.0 Выше используйте путь ниже, чтобы найти подписанную версию APK

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

и в окнах

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

2

В моем случае, чтобы получить отладочную сборку - мне нужно отключить опцию Instant Run:

Файл → Настройки → Сборка, выполнение, развертывание → Мгновенный запуск и снимите флажок Включить мгновенный запуск.

Затем, после запуска проекта, я нашел свою сборку в каталоге Application \ app \ build \ output \ appDebug \ apk


1

Когда у вас есть студия Android, создайте подписанный файл apk, который он использует

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

внутри workspace.xml, чтобы узнать, где его разместить. Однако, если вы используете ./gradlew assembleReleaseего, он помещается в PROJNAME / build / apk. У меня та же проблема. По какой-то причине моя студия Android не будет показывать мне ничего в подкаталоге apk, поэтому apk для всех намерений и целей отсутствует. Но если вы ищете с помощью Finder, он определенно там.


путь: /.idea/workspace.xml свойство: <property name = "ExportApk.ApkPath" value = "..." />
davee44

1

Вы можете найти его в

project -> app (or your main app module) -> build -> outputs -> apk

0

Взгляните на этот вопрос .

TL; DR: очистить, затем построить.

./gradlew clean packageDebug 

1
Аналогичная проблема, но в моем случае запуск этой команды приводит к ее однократной сборке, но она по-прежнему не работает изнутри студии Android.
Migwell

1
Он все еще не создает файл .apk?
alikonda
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.