ProgramingTip

오류 : Windows에서 파일 경로가 너무 깁니다. 240 자색으로 유지하십시오.

bestdevel 2020. 11. 12. 19:28
반응형

오류 : Windows에서 파일 경로가 너무 깁니다. 240 자색으로 유지하십시오.


그래서 build.gradle (app) 파일을 약간의 비용으로 변경했습니다 android studio 에서이 오류가 발생했습니다 (더 나은보기를 위해 새 탭에서 이미지를 열었습니다). Logcat의 오류 설명

내 build.gradle (app) 파일 (편집 된 파일이 새 줄의 코드를 삭제했지만 여전히 운 / 솔루션이 없습니다.) : Build.gradle

build.gradle (app) 파일을 잘 작동하지만 새로운 코드 줄을 삭제했지만 Android 스튜디오에서 계속 오류가 발생합니다. 이 오류는 'com.google.android.gms : play-services : 8.3.0'컴파일 과 관련이 있습니다. 거기에있는 폴더에 PNG 이미지를 삭제 / 이름을 시도했지만 프로젝트를 다시 빌드하면 PNG 이미지가 자동으로 다운로드됩니다. 내 build.gradle (project) 파일에는 'com.android.tools.build:gradle:1.5.0'클래스 경로 가 포함되어 있습니다 . 이 오류의 원인과 해결 방법을 알고 싶습니다. 감사합니다.


방금 같은 문제가 발생했습니다. 정확한 문제에 대한 해결책은 모르지만 해결 방법을 찾았습니다. 프로젝트에 깊은 파일 경로 계층이 있습니다. 프로젝트를 더 낮은 수준에서 위로 지 않는 이유는 무엇입니까?

전의 : C:\Projects\YourProject

그것은 나를 위해 문제를 해결했습니다.


대부분의 경로 문제가 발생하기 때문에 프로젝트의 디렉토리를 변경해 볼 수도 있습니다. 루트 build.gradle 파일에서

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

Android Studio는 변경 사항을 선택하고 여전히 프로젝트보기에 새 빌드 위치를 표시합니다. 전체 프로젝트를 이동하는 것보다 훨씬.

편집하다

Windows 10 Insider Preview는 이제 더 긴 파일 경로 제한을 허용하는 기능을 제공하지만 현재 더 긴 파일 경로에 대한 지원을 활성화하는 앱에서만 액세스 할 수 있습니다.

현재 확장 경로가 활성화 된 다만 응용 프로그램은 Windows Store를 통해 단일 응용 프로그램 일 뿐인 시청.

현재 Gradle은 사용할 수있는 NTFS 파일 경로 길이를 활용하기 위해 사용할 수 없습니다.


문제 원인 : 'C : \ users ... \ commom_google_signin_btn_text_dark_normal.9.png'아이콘 경로 길이가 240 개 초과 하여 Windows OS의 최대 파일 경로 길이 제한 을 초과 합니다.

해결은 'C : \ your_project'와 같은 최상위 디렉토리로 프로젝트를 이동하거나 프로젝트 이름의 길이를 줄이는 것입니다.

다음은 Windows 경로 제한 차트입니다. 여기에 이미지 설명 입력


실제 대안으로 하드 링크를 사용하는 것이 좋습니다. 그 구문은 다음과 가변합니다.

mklink /J C:\AndroidProjects\ProjectName C:\MyVeryVeryVeryVery…VeryVeryVeryLongPath\ProjectName

이제 C : \ AndroidProjects \ ProjectName에서 프로젝트를 작업 할 수 있으며 프로젝트가 있어야하는 위치에서 바로 변경할 수 있습니다.


Vladimir Dimov 답변에 동의합니다. Windows에서 파일 경로는 240 자 미만이어야한다고 언급되어 있으므로 프로젝트의 짧은 경로를 선택해야합니다. 이 링크는 나를 도와줍니다 : http://www.feelzdroid.com/2016/01/android-studio-error-file-path-too-long-windows.html


lodock의 답변에 대한 추가로 동일한 이름의 프로젝트가 많은 경우 프로젝트 경로에 해시를 사용할 수 있습니다.

import java.security.MessageDigest

def hashString(String s){
    MessageDigest.getInstance("SHA1").digest(s.bytes).encodeHex().toString()
}

allprojects {
    buildDir = "C:/AB/${hashString(projectDir.getAbsolutePath())}"
}

프로젝트 경로를 단축하는 것은 실제로 약간의 해킹입니다. Ivan Neeson의 대응은 앞으로 나아갈 것 같습니다.

운이 좋으면 Android Studio를 사용하는 경우 파일 길이에 대한 유용한 오류 메시지가 표시됩니다. 그러나 명령 줄 ionic 빌드를 수행하는 동일한 문제가 발생하면 png 파일에 대한 일종의 크런치 오류가 있는지 알 수 있으며 그다지 분명하지 않습니다.

진짜 문제는 단순히 Windows 친화적이지 않은 common_google_signin_btn_text_light_normal_background.9.png와 같은 사치스러운 파일 이름을 가진 Google Play 서비스입니다. 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


http://feelzdroid.com/2016/01/android-studio-error-file-path-too-long-windows.html을 보세요 . 해결책은 폴더 경로를 240 자 미만으로 유지하는 것이 너무 간단합니다.

경로에 전세가 240 명 미만인지 확인하십시오.


프로젝트 디렉토리를 가능한 한 적게 유지해야합니다 (예 : D : / AndroidWorkSpace / ProjectName).

Android Studio는 240 자 길이의 프로젝트 경로 만 지원하기 때문에

감사


NTFS 연결 지점을 사용하여 프로젝트에 대한 더 짧은 경로를 만들 수 있습니다. 정션에 대해 자세히 알아 보려면 다음을 읽어보십시오 : 하드 링크 및 정션

접합 (소프트 링크라고도 함)은 참조하는 스토리지 오브젝트가 별도의 디렉토리이고 접합이 동일한 컴퓨터의 다른 로컬 볼륨에있는 디렉토리를 링크 할 수 있다는 점에서 하드 링크와 다릅니다. 그렇지 않으면 접합이 하드 링크와 동일하게 작동합니다.


같은 폴더에 두 개의 반복 폴더가있을 때이 문제를 발견했습니다.

E:\project-one\project-one

다음과 같이 폴더 이름이 길면

E:\project-one-with-very-big-name

이 문제를 방지하려면 프로젝트 폴더를 간단하고 짧게 만드십시오.


Windows 사용자의 경우 :

프로젝트 루트 폴더에 네트워크 공유를 만든 다음 매핑하고 싶을 수 있습니다. 이 기술은 전체 경로 길이를 줄이지 만 수정 된 파일을 감지하기 어렵 기 때문에 Android Studio에 문제가 발생합니다. 더 나은 해결책은 windows subst 명령 을 사용하는 것 입니다. 다음은 문제를 우회하는 예제 스크립트입니다. 필요에 따라 이름을 조정하고 프로젝트를 가리 키도록 수정하고 디렉토리를 설치합니다.

파일 : 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


나는 같은 문제에 직면하고 있었고, 내 프로젝트는 C 드라이브에 있고 더 깊은 경로 위치에 있습니다. 내가 방금 내 프로젝트를 다른 낮은 깊은 경로 위치로 옮겼고 작동합니다. 프로젝트 위치를 변경하면 프로젝트가 안됩니다. 깊은 위치 계층에서.


이 문제에 대해 다른 경험을했습니다. 먼저이 오류가 있지만 동일한 디렉토리의 이전 프로젝트가 열리고 있음을 알았습니다. 이것은 경로입니다.

C : \ Users \ koralis \ Documents \ extraction \ Ex_Files_Android_App_Dev_LDS_Upd \ Exercise Files \ Ch01 \ 01_06 \ ImageAssets

놀랍게도 gradle 버전을 'com.android.tools.build:gradle:2.0.0'에서 'com.android.tools.build:gradle:3.2.1'로 업데이트했습니다.

이것은 내 문제를 해결했습니다.

참고 URL : https://stackoverflow.com/questions/33905687/error-file-path-too-long-on-windows-keep-below-240-characters

반응형