Ответ 1
Нажмите эту опцию, чтобы решить эту ошибку:
Когда я пытаюсь отлаживать приложение на Android Studio, выдает этот выход журнала:
Файл APK /Users/MyApplicationName/app/build/outputs/apk/app -debug.apk не делает есть на диске.
Я перезапустил Android Studio, но я не могу решить эту проблему. Как я могу это решить? Спасибо вам
Нажмите эту опцию, чтобы решить эту ошибку:
Я столкнулся с этой же проблемой, когда обновился до Android Studio 3.1. Все другие решения, которые я нашел здесь, были достаточно ручными, потому что вы должны каждый раз чистить и перестраивать, что не очень хорошо. Но благодаря Иману Мараши я ответил, что смог его решить.
Перейдите в Run → Edit Configurations...
Удостоверьтесь, что у вас есть "Gradle-aware Make" в разделе "Перед запуском":
Чтобы добавить его, нажмите знак + и выберите " Значок с градиентом", и появится всплывающее окно, просто оставьте текстовое поле пустым и нажмите " ОК" и " ОК".
В моем случае помогло выполнить "Sync Project с Gradle Files". Ни перезапуск Andoid Studio, ни очистка кеша ничего не сделали.
Если вы просто хотите знать заключение, перейдите в последний раздел. Спасибо.
Обычно при сбое проекта возникают некоторые общие трюки:
Но для более конкретной проблемы - когда Android Studio не смог найти файл APK на диске. Это означает, что Android Studio фактически успешно построила проект, а также сгенерировала APK, однако по какой-то причине Android Studio не может найти файл.
В этом случае проверьте печатный каталог в соответствии с журналом. Это полезно.
Например:
С Android Studio 2.0 Preview (сборка 143.2443734).
Запустите 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);
}
}
Убедитесь, что у вас нет апострофа или & в вашем пути
Убедитесь, что есть Градация-Aware Марка в конфигурациях/Debugging Run >> перед запуском раздела:
Я наблюдал подобную проблему, обычно, когда я переключаю ветки git. Для меня закрытие Android Studio rm -rfv ~/Library/Caches/AndroidStudio*
и перезагрузка Android Studio - это билет.
В Android Studio 3.1.1 выберите Файл | Синхронизировать проект с файлами Gradle.
В Android Studio 3 выберите Файл | Синхронизировать.
Затем запустите свой проект еще раз.
Год - 2018. Версия Android Studio 3.2.0 alpha3, и мы все еще получаем эту проблему. Поскольку ни одно из вышеперечисленных не работало для меня, вот мои 2 цента:
Каждый раз, когда это происходит, я просто генерирую apk из командной строки:
gradlew assembleDebug
ОБНОВИТЬ
Удаление папки .AndroidStudio[version]
и потеря всех ваших предпочтений и кэшей... кажется, решает проблему
В моем случае я использовал специальный символ в моем пути к файлу приложения. Я закрыл Android Studio и удалил символ из моего пути к файлу приложения. Все прошло отлично, когда я снова заново заработал проект.
Я решил построить apk с помощью опции Build из верхнего окна и Build APK. Нет необходимости делать что-то странное.
Для пользователей Unix (Linux/MacOs X) вместо удаления ~/.gradle/caches/в командной строке выполните:
$ cd path_to_you_project
$ touch build.gradle
Затем попросите Android Studio построить APK, он будет reset gradle сам.
Моя проблема в том, что я добавлял номер версии в 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)
}
}
Build ---> Создайте APK и убедитесь, что он работает
Файл → Недействительный кеш/перезагрузка
Если вы попробовали все вышеперечисленные ответы и не работали, попробуйте отключить функцию "Мгновенный запуск". Это помогло мне после всех попыток.
Файл → Настройки → Сборка, выполнение, развертывание → Мгновенный запуск → Снимите флажок там
Я также получил эту проблему после очистки сборки. Для меня решение было просто синхронизировать gradle, и это сработало для меня.
В моем случае проблема заключалась в том, что конфигурация отладки как-то становилась недействительной, даже если имя, класс или пакет тестового метода не изменились.
Я удалил конфигурации из Run-> Изменить конфигурации, здесь:
Студия Android создаст новую автоматически.
Столкнулась с той же проблемой с gradle 1.5
Мне пришлось очистить файлы сборки:
Сборка → Очистить проект
И создайте APK для принудительной полной компиляции и синхронизации файлов gradle:
Сборка → Сборка APK
Я до сих пор не знаю, почему и как это произошло.
У меня была та же проблема. это было связано с ложным именем на пути. на пути был особый Символ: C:\User\My App\Projekte-Tablet & Handy я удалил "&" и он работал хорошо.
Моя проблема включала минуты в имени файла - она искала 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)
}
}
Проблема для меня заключалась в том, что как-то это действительно не могло найти 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 для меня.
Решено в мае 2018 года с новой Android Studio 3.1. Удалите директории.gradle,.idea и build внутри папки приложения. Затем попробуйте запустить его снова, и вы не увидите ошибку.
если вы используете Linux, попробуйте установить разрешение на запись в папку app/build.
Я изменяю build.gradle файл litle info и нажимаю "Sync Now", просто ок.
Удалите каталог ~/.gradle/caches/. Это нормально, если Android Studio открывается. (Обратитесь, пожалуйста, к установке неправильного имени пакета) Нажмите "Sync project with Gradle files" на Android Studio Запустите проект, и удаленный путь будет правильным.
Refer answer @Android Studio неправильно использует имя пакета при запуске .apk
Убедитесь, что в пути, созданном в ваших журналах, - в вашем случае:
/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk
В папках "выходы" действительно есть папка "apk".
Это была моя проблема, если она не существует, вам нужно будет запустить задачу "assembleRelease" в gradle, следуя приведенному ниже снимку экрана;
Ничто выше не помогло мне, но я понял это, переключившись на другой вкус на панели Build Tools, а затем переключившись на нужный.
изменить файл: build.gradle(каталог приложения). на самом деле: вы не должны изменять этот файл, только этим, чтобы получить советы по синхронизации, а затем синхронизировать проект.
Кнопка называется "Sync Project с Gradle Files", и она выглядит одинаково: ... всегда нужно щелкнуть по нему при обновлении номера версии, что приведет к другому имени файла APK (если имя файла не изменилось, установка пакета всегда работает, на что намекает, что имя файла кэшируется). Эквивалентная опция CLI Gradle выглядит как
--recompile-scripts
.