Ошибка: слишком длинный путь к файлу в окнах, ниже 240 символов
Итак, я внес некоторые изменения в файл build.gradle(app), и андроид-студия дает мне эту ошибку (откройте изображение на новой вкладке для лучшего просмотра):
![Описание ошибки из Logcat]()
Мой файл build.gradle(app) (это не отредактированный файл, я удалил новые строки кода и до сих пор не повезло/решение.):
![Build.gradle]()
Все было хорошо работает, пока я не внес некоторые изменения в файл build.gradle(app), но затем я удалил эти новые строки кодов, и андроид-студия все еще продолжает давать мне ошибку.
Ошибка связана с компиляцией 'com.google.android.gms: play-services: 8.3.0'.
Я попытался удалить/переименовать эти png-изображения внутри указанной папки, но затем, когда я перестраиваю проект, png-изображения автоматически загружаются.
Мой файл build.gradle(project) содержит classpath 'com.android.tools.build:gradle:1.0.0'. Я хочу знать, что вызывает эту ошибку, и как ее исправить? Большое спасибо.
Ответы
Ответ 1
Я просто столкнулся с той же проблемой. Я не знаю, как исправить вашу точную проблему, но я нашел работу; Я вижу, что ваш проект имеет иерархию иерархии файлов. Почему бы просто не переместить свой проект с более низкого уровня?
Пример: C:\Projects\YourProject
Это исправило проблему для меня.
Ответ 2
Вы также можете попробовать изменить каталог сборки для своего проекта, так как именно там возникнет большая часть проблем с пути. В файле root build.gradle
allprojects {
buildDir = "C:/tmp/${rootProject.name}/${project.name}"
repositories {
...
}
}
Android Studio подберет изменения и покажет ваше новое местоположение сборки в представлении "Проект". Это намного проще, чем перенос всего проекта.
ИЗМЕНИТЬ
В то время как предварительный просмотр Windows 10 теперь предлагает возможность для более длинных ограничений пути к файлу, эти ограничения в настоящее время доступны только для приложений, которые специально поддерживают более длинные пути к файлам.
В настоящее время кажется, что эти приложения с расширенным доступом, по-видимому, являются только приложениями, которые установлены через Windows Store.
В настоящее время Gradle не может и, возможно, не может включить эту опцию для использования расширенной длины пути к файлу NTFS.
Ответ 3
Причина проблемы: 'C:\users...\commom_google_signin_btn_text_dark_normal.9.png' длина пути знака больше 240 символов, которая превышает Максимальное ограничение длины пути файла ОС Windows.
Решение: Переместите проект в верхний каталог, например, C:\your_project, или уменьшите длину имени вашего проекта.
Здесь приведена предельная диаграмма пути к окну
![введите описание изображения здесь]()
Ответ 4
Как очень простая альтернатива фактическому перемещению проекта, я бы предложил использовать жесткую ссылку. Синтаксис этого будет таким:
mklink /J C:\AndroidProjects\ProjectName C:\MyVeryVeryVeryVery…VeryVeryVeryLongPath\ProjectName
Теперь вы можете работать над своим проектом в C:\AndroidProjects\ProjectName и иметь изменения прямо там, где должен быть ваш проект.
Ответ 5
Я согласен с ответом Владимира Димова.
Вы должны выбрать короткий путь для своего проекта, поскольку упоминается, что путь к файлу должен быть ниже 240 символов в Windows.
Эта ссылка помогает мне: http://www.feelzdroid.com/2016/01/android-studio-error-file-path-too-long-windows.html
Ответ 6
Как дополнение к ответу lodock, вы можете использовать хэш на пути к проекту, если у вас много проектов с тем же именем:
import java.security.MessageDigest
def hashString(String s){
MessageDigest.getInstance("SHA1").digest(s.bytes).encodeHex().toString()
}
allprojects {
buildDir = "C:/AB/${hashString(projectDir.getAbsolutePath())}"
}
Ответ 7
Сокращение путей проекта на самом деле немного хак, ответ Ивана Нисона кажется путём вперед.
Если вам посчастливилось использовать Android Studio, вы увидите полезное сообщение об ошибке.
Если, однако, вы столкнулись с той же проблемой, что и для командной строки, созданной с помощью ионной сборки, вы увидите, что какая-то ошибка crunch для файла png, и это не так очевидно.
Настоящей проблемой являются службы Google Play, имеющие такие экстравагантные имена файлов, как common_google_signin_btn_text_light_normal_background.9.png, которые просто не дружественны к Windows. Dump, что внутри сборки Android и путь взрывается вне нашего контроля на платформы \android\build\intermediates\exploded-aar\com.google.android.gms\play-services-base\10.2.1\res\drawable-xhdpi- v4\common_google_signin_btn_text_light_normal_background.9.png
Ответ 8
Посмотрите на http://feelzdroid.com/2016/01/android-studio-error-file-path-too-long-windows.html. Решение слишком просто сохранить путь к папке менее 240 символов.
Убедитесь, что в пути будет меньше 240 чартеров.
Ответ 9
Вам следует оставить свой проектный каталог как можно более глубоким
Например:-
D:/AndroidWorkSpace/ProjectName
Потому что поддержка Android Studio только 240 Длина символа пути проекта
Спасибо
Ответ 10
Вы можете использовать точку соединения NTFS, чтобы создать более короткий путь к вашему проекту.
Чтобы узнать больше о Junctions, прочитайте следующее:
Жесткие ссылки и ссылки
Соединение (также называемое мягкой ссылкой) отличается от жесткой ссылки тем, что объекты хранилища, которые он ссылается, являются отдельными каталогами, а соединение может связывать каталоги, расположенные на разных локальных томах на одном компьютере. В противном случае переходы работают одинаково с жесткими ссылками
Ответ 11
Я нашел эту проблему, когда у меня есть две повторяющиеся папки, подобные,
E:\project-one\project-one
и когда он имеет большую длину имени папки, например,
E:\project-one-with-very-big-name
Чтобы избежать этой проблемы, сделайте папку проекта простой и короткой.
Ответ 12
Для пользователей Windows:
У вас может возникнуть соблазн создать сетевой ресурс в корневой папке проекта, а затем отобразить его. Этот метод сократит общую длину пути, но вызовет проблемы для Android Studio из-за сложности обнаружения измененных файлов. Лучшим решением является использование команды subst. Вот пример script, чтобы обойти проблему. Измените имена по мере необходимости и измените их, чтобы указать на проект и установить каталоги.
Файл: launchAS.cmd
subst P: "C:\private\java42\ide\42g\workspaces\AndroidStudioProjects"
cd "C:\private\java42\programs\android-studio-base\bin"
start studio64.exe
Вышеприведенные команды создадут диск P: и сопоставьте его с корневой папкой проекта. Это уменьшит общую длину пути до файлов проекта и может дать вам некоторое облегчение для проблемы с слишком длинным именем пути. Используйте P: \, поскольку при открытии проектов вы использовали бы длинное корневое имя.
Чтобы удалить команду использования сопоставления: subst P:/d
Ответ 13
Я столкнулся с той же проблемой, мой проект находится на диске C, и он находится в более глубоком пути. Что я сделал, я просто переместил свой проект в другое место более низкого глубокого пути, и это работает, вы просто измените местоположение проекта, и проект не должен быть в глубокой иерархии местоположения.
Ответ 14
У меня был другой опыт с этой проблемой. Сначала у меня была эта ошибка, но потом я заметил, что мои предыдущие проекты в том же каталоге открывались. Это путь:
C:\Users\koralis\Documents\extract\Ex_Files_Android_App_Dev_LDS_Upd\Файлы упражнений \Ch01\01_06\ImageAssets
Удивительно, но я обновил эту версию Gradle до "com.android.tools.build:gradle:3.2.1" с "com.android.tools.build:gradle:2.0.0".
Это решило мою проблему.