Файл APK не существует на диске

Когда я пытаюсь отлаживать приложение на Android Studio, выдает этот выход журнала:

Файл APK /Users/MyApplicationName/app/build/outputs/apk/app -debug.apk не делает есть на диске.

Я перезапустил Android Studio, но я не могу решить эту проблему. Как я могу это решить? Спасибо вам

Ответ 1

Нажмите эту опцию, чтобы решить эту ошибку:

Run: View > Tool Windows > Gradle > [project] > Tasks > build > build

Ответ 2

Если вы столкнулись с этой проблемой после обновления до Android Studio V 3.1, попробуйте использовать ниже.

Я столкнулся с этой же проблемой, когда обновился до Android Studio 3.1. Все другие решения, которые я нашел здесь, были достаточно ручными, потому что вы должны каждый раз чистить и перестраивать, что не очень хорошо. Но благодаря Иману Мараши я ответил, что смог его решить.

Перейдите в Run → Edit Configurations...

Удостоверьтесь, что у вас есть "Gradle-aware Make" в разделе "Перед запуском":

Run/Debug Configurations

Чтобы добавить его, нажмите знак + и выберите " Значок с градиентом", и появится всплывающее окно, просто оставьте текстовое поле пустым и нажмите " ОК" и " ОК".

Ответ 3

В моем случае помогло выполнить "Sync Project с Gradle Files". Ни перезапуск Andoid Studio, ни очистка кеша ничего не сделали.

Ответ 4

Если вы просто хотите знать заключение, перейдите в последний раздел. Спасибо.

Обычно при сбое проекта возникают некоторые общие трюки:

  • Сборка → Чистый проект
  • Проверить варианты сборки
  • Перезагрузка Android Studio (как вы упомянули)

Но для более конкретной проблемы - когда Android Studio не смог найти файл APK на диске. Это означает, что Android Studio фактически успешно построила проект, а также сгенерировала APK, однако по какой-то причине Android Studio не может найти файл.

В этом случае проверьте печатный каталог в соответствии с журналом. Это полезно.

Например:

С Android Studio 2.0 Preview (сборка 143.2443734).

  • Оформить заказ на конкретную фиксацию (чтобы она отделилась от головы): git checkout [commit_hash]
  • Запустить проект
  • Android Studio сообщает: Файл APK/Пользователи/MyApplicationName/app/build/output/apk/ app-debug-HEAD.apk не существует на диске
  • Перейдите в каталог, на самом деле есть файл: app-debug- (HEAD.apk (с дополнительной скобкой)
  • Запустите git ветвь

    * (HEAD отсоединен от 1a2bfff)

Итак, вы можете видеть, из-за моей ошибки gradle build script. Именование файлов как-то не так.

Вышеприведенный пример - это всего лишь один сценарий, который может привести к одной и той же проблеме, но не обязательно, чтобы быть той же самой причиной, что и ваша.

В результате я настоятельно рекомендую проверить каталог (чтобы найти разницу) и проверить build.gradle script (вы можете изменить apk name, что-то вроде ниже):

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def newFileName = "whatever you want to name it";
            def apk = output.outputFile;
            output.outputFile = new File(apk.parentFile, newFileName);
        }
    }

Ответ 5

Убедитесь, что у вас нет апострофа или & в вашем пути

Ответ 6

Убедитесь, что есть Градация-Aware Марка в конфигурациях/Debugging Run >> перед запуском раздела:

Like this image

Ответ 7

Я наблюдал подобную проблему, обычно, когда я переключаю ветки git. Для меня закрытие Android Studio rm -rfv ~/Library/Caches/AndroidStudio* и перезагрузка Android Studio - это билет.

Ответ 8

В Android Studio 3.1.1 выберите Файл | Синхронизировать проект с файлами Gradle.

В Android Studio 3 выберите Файл | Синхронизировать.

Затем запустите свой проект еще раз.

Ответ 9

Год - 2018. Версия Android Studio 3.2.0 alpha3, и мы все еще получаем эту проблему. Поскольку ни одно из вышеперечисленных не работало для меня, вот мои 2 цента:

Каждый раз, когда это происходит, я просто генерирую apk из командной строки:

gradlew assembleDebug

ОБНОВИТЬ

Удаление папки .AndroidStudio[version] и потеря всех ваших предпочтений и кэшей... кажется, решает проблему

Ответ 10

В моем случае я использовал специальный символ в моем пути к файлу приложения. Я закрыл Android Studio и удалил символ из моего пути к файлу приложения. Все прошло отлично, когда я снова заново заработал проект.

Ответ 11

Я решил построить apk с помощью опции Build из верхнего окна и Build APK. Нет необходимости делать что-то странное.

Ответ 12

Для пользователей Unix (Linux/MacOs X) вместо удаления ~/.gradle/caches/в командной строке выполните:

$ cd path_to_you_project
$ touch build.gradle

Затем попросите Android Studio построить APK, он будет reset gradle сам.

Ответ 13

Моя проблема в том, что я добавлял номер версии в APK. Изменение номера версии и повторная синхронизация Gradle исправили проблему для меня.

def appendVersionNameVersionCode(variant, defaultConfig) {
    variant.outputs.each { output ->
        if (output.zipAlign) {
            def file = output.outputFile
            def removeApp = file.name.replace("app-", "")
            def removeType = removeApp.replace("-release", "")
            def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
            output.outputFile = new File(file.parent, fileName)
        }

        def file = output.packageApplication.outputFile
        def removeApp = file.name.replace("app-", "")
        def removeType = removeApp.replace("-release", "")
        def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
        output.packageApplication.outputFile = new File(file.parent, fileName)
    }
}

Ответ 14

Build ---> Создайте APK и убедитесь, что он работает

Ответ 15

Файл → Недействительный кеш/перезагрузка

Ответ 16

Если вы попробовали все вышеперечисленные ответы и не работали, попробуйте отключить функцию "Мгновенный запуск". Это помогло мне после всех попыток.

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

Ответ 17

Я также получил эту проблему после очистки сборки. Для меня решение было просто синхронизировать gradle, и это сработало для меня.

Ответ 18

В моем случае проблема заключалась в том, что конфигурация отладки как-то становилась недействительной, даже если имя, класс или пакет тестового метода не изменились.

Я удалил конфигурации из Run-> Изменить конфигурации, здесь:

enter image description here

Студия Android создаст новую автоматически.

Ответ 19

Столкнулась с той же проблемой с gradle 1.5

Мне пришлось очистить файлы сборки:

Сборка → Очистить проект

И создайте APK для принудительной полной компиляции и синхронизации файлов gradle:

Сборка → Сборка APK

Я до сих пор не знаю, почему и как это произошло.

Ответ 20

У меня была та же проблема. это было связано с ложным именем на пути. на пути был особый Символ: C:\User\My App\Projekte-Tablet & Handy я удалил "&" и он работал хорошо.

Ответ 21

Моя проблема включала минуты в имени файла - она ​​искала appname_debug_0.9.0.1_170214_2216.apk, когда сгенерированный файл был appname_debug_0.9.0.1_170214_2217.apk, поэтому код выходного файла (выбитый из другого места) явно вызывался из две разные точки в сборке.

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def project = "appname"
            def SEP = "_"
    //        def flavor = variant.productFlavors[0].name
            def buildType = variant.variantData.variantConfiguration.buildType.name
            def version = variant.versionName
            def date = new Date();
            def formattedDate = date.format('yyMMdd_HHmm')

            def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk"

            output.outputFile = new File(output.outputFile.parent, newApkName)
        }
    }

Ответ 22

Проблема для меня заключалась в том, что как-то это действительно не могло найти apk, а apk существует.

The APK file /Users/Paul/AndroidStudioProjects/android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK

Все, что мне нужно было сделать, - это щелкнуть правой кнопкой мыши по относительному пути apk-copy и просто

adb install -r <paste of relative path>

И апк был установлен и хорошо идти. Эта проблема возникла для OSX для меня.

Ответ 23

Решено в мае 2018 года с новой Android Studio 3.1. Удалите директории.gradle,.idea и build внутри папки приложения. Затем попробуйте запустить его снова, и вы не увидите ошибку.

Ответ 24

если вы используете Linux, попробуйте установить разрешение на запись в папку app/build.

Ответ 25

Я изменяю build.gradle файл litle info и нажимаю "Sync Now", просто ок.

Ответ 26

Удалите каталог ~/.gradle/caches/. Это нормально, если Android Studio открывается. (Обратитесь, пожалуйста, к установке неправильного имени пакета) Нажмите "Sync project with Gradle files" на Android Studio Запустите проект, и удаленный путь будет правильным.

Refer answer @Android Studio неправильно использует имя пакета при запуске .apk

Ответ 27

Убедитесь, что в пути, созданном в ваших журналах, - в вашем случае:

/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk

В папках "выходы" действительно есть папка "apk".

Это была моя проблема, если она не существует, вам нужно будет запустить задачу "assembleRelease" в gradle, следуя приведенному ниже снимку экрана;

Шаги для запуска задачи  <a140> assembleRelease Затем будет создана папка.

Ответ 28

Ничто выше не помогло мне, но я понял это, переключившись на другой вкус на панели Build Tools, а затем переключившись на нужный.

Ответ 29

изменить файл: build.gradle(каталог приложения). на самом деле: вы не должны изменять этот файл, только этим, чтобы получить советы по синхронизации, а затем синхронизировать проект.

Ответ 30

Кнопка называется "Sync Project с Gradle Files", и она выглядит одинаково: Gradle Sync... всегда нужно щелкнуть по нему при обновлении номера версии, что приведет к другому имени файла APK (если имя файла не изменилось, установка пакета всегда работает, на что намекает, что имя файла кэшируется). Эквивалентная опция CLI Gradle выглядит как --recompile-scripts.

@see Приложение D. Gradle Командная строка.