Де Android-студія будує мій файл .apk?


103

Я будував свій проект з нуля, тому було багато проблем з ним. На даний момент все працює чудово, за винятком того, що коли я намагаюся запустити додаток, я отримую повідомлення "Місцевий шлях не існує". , де локальний шлях вказує на шлях: AndroidStudioProjects \ MyProject \ MyProject .. \ build \ production \ MyProject.apk , і, правда, немає файлу .apk у цьому місці, а то і ніде в файльній системі проекту.

Однак я можу створити додаток без проблем, і запуск пакета gradlewDebug дає мені повідомлення " успішно будувати ", тому слід створювати .apks . Моє запитання: куди вони йдуть, або якщо вони не створюються, чому б ні?

Де встановлюється шлях збирання кожного модуля? Я дещо розгублений, оскільки структура проекту-> грані-> Android-> настройки компілятора, структура проекту-> модулі-> шляхи-> вихід компілятора, build.gradle та MyProject.iml, схоже, мають щось спільне побудувати шлях, але я не зовсім розумію, як вони співвідносяться

редагувати: Я знаю, де це має бути , але його там немає, тому я хочу знати, як змінити шлях збирання

редагувати 2: Чомусь запущена gradlew build створює .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 у новій студії Android
Гру

це повинно бути там, як пояснив Алекс, або ви можете перевірити відповідь вище.
Гру


Шахта була в ./app/release/app-release.apk
Стів Сміт

Відповіді:


154

YourApplication \ app \ build \ outputs \ apk


1
Це нове місце розташування.
Крилез

Дякую - я знайшов його там для Android Studios 1.1
Саймон

8
немає пекла, папка додатків взагалі
Шахід Карімі

у новій версії - це у вашій програмі \ app \ build \
outputs

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відсутній.
Аллан Руїн

@AllanRuin ви створили APK?
келалака

будь ласка, детальніше розглядайте кроки, про які ви згадали.
Shubham Arya

19

Після складання моєї програми codeв Android Studio я знайшов її тут:

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


17

Слід створити додаток замість процесу налагодження. Просто дотримуйтесь цього:

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

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


11

У мене виникла проблема з пошуку налагодження apk. Android Studio 0.8.6 не показував папку apk або навіть вихідну папку у проекті / проект / build / Коли я перевірив той самий проект проекту / проекту / збірки / з програми провідника папки Windows, я знайшов там папку "вихід" і apk налагодження всередині неї.


Провідник виходить з ладу досить важко, якщо у вас відкрито це місце та "чистий проект" =)
Tapirboy

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

9

Для Android Studio:

Якщо ви не створили APK хоча б один раз, ви можете не знайти папки / Виходи / APK. Перейдіть на Build в Android Studio і одним з останніх трьох варіантів є Build 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-файлів ніде у файловому проекті мого проекту
Migwell,

Як у моїй редакції - я знаю, де це має бути , але його там немає, тож, можливо, вихідний шлях якось порушений?
Мігвелл

Я це додав. Єдина хитра річ у тому, що моя бібліотека TwoWayLib, здається, будується двічі. Це не пояснює, чому андроїд-студія не може створити apks, хоча
Migwell

У мене також є та ж проблема - ні Gradle, ні Android Studio насправді не створюють apk-файл.
Річард Рассел

5

Apk шахтного додатка була в цьому місці

C: \ Користувачі \ 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 \ outputs \ appDebug \ apk


0

Погляньте на це питання .

TL; DR: очистити, потім скласти.

./gradlew clean packageDebug 

1
Аналогічна проблема, але в моєму випадку виконання цієї команди викликає її побудову один раз, але вона все ще не працює зсередини студії Android
Мігвелл

1
Він досі не створює .apk файл?
alikonda

0

Коли у вас є андроїд-студія, зробіть підписаний apk файл, який він використовує

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

всередині Workspace.xml, щоб дізнатися, де його розмістити. Однак якщо ви ./gradlew assembleReleaseйого використовуєте, розміщуєте його всередині PROJNAME / build / apk. У мене така ж проблема. Чомусь моя андроїд-студія не покаже мені нічого у підкаталозі apk, тому apk для всіх намірів та цілей відсутній. Але якщо ви шукаєте за допомогою пошуку, це, безумовно, є.


0

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

project -> app (or your main app module) -> build -> outputs -> apk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.