APK-файл не существует на диске
когда я пытаюсь отладить приложение на Android Studio дает этот вывод журнала:
файл APK
/Пользователи/MyApplicationName/приложение/сборка/выходы/Android игры/приложения-отладка.АПК не
существовать на диске.
я перезапустил Android Studio, но я не могу решить эту проблему . Как я могу решить эту проблему ?
Спасибо
30 ответов:
Если вы столкнулись с этой проблемой после обновления до Android Studio V 3.1, то попробуйте ниже.
я столкнулся с этой же проблемой, когда я обновился до Android Studio 3.1. Все другие решения, которые я нашел здесь, были довольно ручными, потому что вам нужно каждый раз чистить и перестраивать, что совсем не хорошо. Но благодаря Иман Марашиответ здесь я был в состоянии решить эту проблему.
на Выполнить -> Редактировать Конфигурации...
убедитесь, что у вас есть "Gradle-aware Make" В разделе перед запуском:
добавить кнопку + и выберите Gradle-aware Make и появится всплывающее окно, просто оставьте текстовое поле пустым и нажмите ОК и ОК.
в моем случае помогло выполнение "синхронизировать проект с файлами Gradle". Ни перезапуск Andoid Studio, ни очистка кэша ничего не сделали.
Если вы просто хотите знать заключение, пожалуйста, перейдите к последнему разделу. Спасибо.
обычно, когда строительный проект терпит неудачу, некоторые общие уловок, которые вы могли бы попробовать:
- Build ->Очистить Проект
- Регистрация Построить Варианты
- перезагрузка Android Studio (как вы упомянули)
но чтобы быть более конкретным для вашей проблемы-когда Android Studio не удалось найти файл APK на диске. Это означает, что Android Studio фактически успешно построила проект, а также сгенерировала APK, однако по какой-то причине Android Studio не может найти файл.
в этом случае, пожалуйста, проверьте печатный каталог в соответствии с журналом. Это полезно.
например:
С Android Studio 2.0 Preview (build 143.2443734).
- проверка на конкретную фиксацию (чтобы она была отделена от головы):git checkout [commit_hash]
- запустить проект
- Android Studio рассказывает: APK-файл / пользователи / MyApplicationName / app / build / outputs / apk/ app-debug-HEAD.apk отсутствует на диске
- перейдите в каталог, там есть файл с именем:app-debug-(HEAD.apk (С дополнительной скобкой)
Run git branch
*(голова отсоединена на 1a2bfff)
Так что здесь вы могли видеть, из-за ошибки моего скрипта сборки gradle, имя файла как-то неправильно.
выше пример-это всего лишь один сценарий, который может привести к той же проблеме, но не обязательно быть той же основной причиной, что и ваша.
в результате, я настоятельно рекомендую вам!--7-->регистрация Каталог (чтобы найти разницу), и проверьте ваш построить.gradle скрипт (вы можете изменить имя apk там, что-то вроде ниже):
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); } }
Я наблюдал подобную проблему обычно, когда я переключаю ветви git. Для меня закрытие Android Studio
rm -rfv ~/Library/Caches/AndroidStudio*и перезапустить Android Studio-это билет.
год 2018. Версия Android Studio - 3.2.0 alpha3, и мы все еще получаем эту проблему. Как ни один из выше работал для меня, вот мои 2 цента:
каждый раз, когда это происходит, я просто генерирую apk из командной строки:
gradlew assembleDebugобновление
удалить папку
.AndroidStudio[version]и потерять все ваши предпочтения и схроны... кажется, чтобы решить эту проблему
в моем случае, я использовал специальные символы в пути к файлу. Я закрыл Android Studio и удалил ' символ из моего пути к файлу приложения. Все работало нормально, когда я снова открыл проект.
Я решил построить apk, используя опцию сборки из верхнего окна и построить APK. Не нужно делать что-то странное.
для Unix, как пользователи (Linux / MacOs X), вместо удаления ~/.gradle/caches/, в командной строке do:
$ cd path_to_you_project $ touch build.gradleзатем задать для Android Studio для разработки Android игры, он будет сбросить Gradle в себя кэш.
в Android Studio 3.1.1 выберите проект File / Sync с файлами Gradle.
в Android Studio 3 Выберите файл / синхронизировать.
затем снова запустите свой проект.
моя проблема заключается в том, что я добавлял номер версии в 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) } }
Если вы попробовали все вышеперечисленные ответы, и это не сработало, попробуйте отключить функцию "мгновенного запуска". Это помогло мне после всех попыток.
-3 - > настройки -> сборки, выполнения, развертывания -> мгновенный запуск -> снимите галку здесь
Я также получил эту проблему, после очистки сборки. Для меня решение было просто синхронизировать gradle, и это сработало для меня.
столкнулся с той же проблемой с gradle 1.5
Мне пришлось очистить файлы сборки:
Build - > Clean project
и построить APK, чтобы заставить полную компиляцию и синхронизацию файлов gradle:
построение -> построить АПК
Я до сих пор не знаю, почему и как это произошло.
У меня была та же проблема. это было из-за ложного имени в пути. там был специальный символ в пути, как это: C:\User\My App\Projekte-Планшет И Удобный я удалил символ"&", и он работал хорошо.
моя проблема была в том числе минут в имени файла-он искал 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) } }
решена в мае 2018 года с новой Android Studio 3.1. Удалить .Gradle, а .идея и создание каталогов внутри папки приложения. Затем попробуйте запустить его снова, и вы не увидите ошибку.
изменить построение.gradle файл немного информации,и нажмите кнопку "Синхронизировать сейчас", просто хорошо.
удалить каталог ~/.gradle/caches/. Это нормально, чтобы сделать это в то время как Android Studio открыт. (См. pm установка неправильного имени пакета) Нажмите кнопку" Синхронизировать проект с файлами Gradle " на Android Studio Запустите проект и удаленный путь будет правильным.
см. ответ @ Android Studio получает имя пакета неправильно при запуске .apk
убедитесь, что в пути, сгенерированном в ваших журналах -в вашем случае:
/пользователи/MyApplicationName/приложение/сборка/выходы/Android игры/приложения-отладка.apk
папка " выходы "действительно имеет папку" apk".
Это была моя проблема, если ее там нет, вам нужно будет запустить задачу "assembleRelease" в gradle, следуя приведенному ниже скриншоту;
ничто выше не помогло мне, но я понял это, переключившись на другой вкус в панели инструментов сборки, а затем переключившись обратно на нужный.
изменить файл:построить.gradle (каталог приложений). в самом деле:вы не должны изменять этот файл , только чтобы получить советы по синхронизации,а затем синхронизировать проект.
кнопка называется "синхронизировать проект с файлами Gradle" и выглядит так:
... всегда нужно щелкнуть по нему, при обновлении номера версии, что приводит к другому имени файла APK (если имя файла не изменилось, установка пакета всегда работает, что указывает на то, что имя файла кэшируется). Эквивалентный параметр командной строки Gradle в, Кажется
--recompile-scripts.
Сначала удалите очиститель, перейдя к редактированию конфигурации, он может очищать сборку после сборки apk.
Click on edit from set run/debug then click on gradle list select the clean project item and then click on -(top 2nd from left).






Comments