AndroidStudio - сборка выпуска завершается сбоем из-за java.exe. Ошибка создания процесса = 206имя или слишком длинное расширение

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

Я получаю следующее исключение:

Вызвано: com.android.build.api.transform.TransformException: org.gradle.process.internal.ExecException: возникла проблема при запуске процесса «команда» D:\Android Studio\jre\bin\java.exe

И если я добавлю следующие параметры cmd --stacktrace --debug, я получу дополнительную информацию:

Вызвано: java.io.IOException: не удается запустить программу «D:\Android Studio\jre\bin\java.exe» (в каталоге «M:\dev\apps\имя_приложения\приложение»): ошибка CreateProcess = 206, Der Dateiname oder die Erweiterung ist zu lang

«Der Dateiname oder die Erweiterung ist zu lang» означает «имя или расширение слишком длинное».

Настройка

  • мой проект лежит под M:\dev\apps\app_name
  • все мои собственные библиотеки лежат под M:\dev\libraries
  • все мои временные файлы сборки лежат под M:\tmp\app_name

Так что все пути довольно короткие...

Предположение

Где-то путь слишком длинный (в Windows это означает, что он длиннее 260 символов)

Что я сделал

Я запускал команду powershell во всех каталогах

cmd /c dir /s /b |? {$_.length -gt 260}

Ни один путь не длиннее 260...

Вопрос

Что еще я могу сделать здесь? Любые идеи?

ИЗМЕНИТЬ

Это не может быть длина пути. Я синхронизирую свои проекты между двумя ноутбуками с одинаковой структурой папок. На моем домашнем ноутбуке все работает... Не знаю, почему он больше не работает на моем рабочем ноутбуке...


person prom85    schedule 30.05.2018    source источник
comment
Содержит ли одно из имен ваших пакетов специальные символы, например Ö в немецком языке?   -  person Ege Kuzubasioglu    schedule 30.05.2018
comment
Попробуйте это на другой ОС, такой как Mac или Ubuntu.   -  person Aditya    schedule 30.05.2018
comment
Попробуйте включить multiDex в своем проекте. Кажется, вы выпускаете это приложение впервые или добавили дополнительные зависимости в свой проект.   -  person Aditya    schedule 30.05.2018
comment
Нет, никаких специальных символов ни в одном пути... MultiDex включен, и приложение выпускается примерно раз в месяц, и оно всегда работало... Исправлены небольшие ошибки, возможно, обновлены зависимости, больше ничего...   -  person prom85    schedule 30.05.2018
comment
получая ту же ошибку, вы нашли какое-либо решение?   -  person Kishore Jethava    schedule 06.04.2019
comment
вы решили проблему?   -  person Jitesh Mohite    schedule 05.05.2019
comment
Вы нашли решение?   -  person Favour Felix Chinemerem    schedule 11.08.2020
comment
Я добавил ответ, который может помочь некоторым людям в некоторых случаях...   -  person prom85    schedule 12.08.2020


Ответы (1)


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

Внутри C:\Users‹USERNAME›.gradle (или там, где вы установили gradle) вы можете найти файл init.gradle. Откройте этот файл и введите следующее содержимое (или подобное):

allprojects {
    buildDir = "M:/tmp/${rootProject.name}/${project.name}"
}

Это приведет к тому, что все промежуточные и выходные файлы проектов будут расположены почти по корневому пути, а именно M:/tmp/project1/.... Это гарантирует, что вы сохраните несколько символов во временных папках, в которых будут созданы все промежуточные и выходные файлы.

person prom85    schedule 12.08.2020