Подтвердить что ты не робот

Ошибка: слишком длинный путь к файлу в окнах, ниже 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'. Я хочу знать, что вызывает эту ошибку, и как ее исправить? Большое спасибо.

4b9b3361

Ответ 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

Ответ 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".

Это решило мою проблему.