android

Android Studio(macOS), Filesystem Case-Sensitivity Mismatch

nowoodeel 2021. 5. 29. 12:39
728x90

Filesystem Case-Sensitivity Mismatch
The project seems to be located on a case-sensitive file system.
This does not match the IDE setting (controlled by property "idea.case.sensitive.fs")

 

APFS(Apple 파일 시스템)

APFS(Apple 파일 시스템)는 macOS 10.13 및 이후 버전을 사용하는 Mac 컴퓨터의 기본 파일 시스템으로 강력한 암호화, 공간 공유, 스냅숏, 빠른 디렉터리 크기 조절, 향상된 파일 시스템 구조를 제공한다. 

  • APFS: APFS 포맷. 암호화된 포맷 또는 대소문자를 구분하는 포맷이 필요하지 않은 경우.
  • APFS(암호화됨): APFS 포맷을 사용하고 볼륨을 암호화.
  • APFS(대소문자 구분): APFS 포맷을 사용하고 파일 및 폴더 이름의 대소문자를 구별. 예를 들어, ‘Homework’와 ‘HOMEWORK’라는 폴더는 두 개의 다른 폴더.
  • APFS(대소문자 구분, 암호화됨): APFS 포맷을 사용하고 파일 및 폴더 이름의 대/소문자를 구별하며 볼륨을 암호화. 예를 들어, ‘Homework’와 ‘HOMEWORK’라는 폴더는 두 개의 다른 폴더.

대소문자를 구분하면 대소문자를 구분하지 않는 파일 시스템이 필요한 일부 Mac 응용 프로그램에서 오류가 발생된다.

특별한 이유가 없는 한 APFS에서는 대소문자를 구분하지 않는 것이 좋다.

 

Linux 파일 시스템

 

FileSystem - Debian Wiki

Translation(s): English - Français - Italiano - 简体中文 From Wikipedia: In computing, a file system or filesystem (often abbreviated to fs), controls how data is stored and retrieved. Without a file system, information placed in a storage medium woul

wiki.debian.org

Debian 기준으로 많은 파일 시스템이 있지만 현재 ext4를 기본 설치 파일 시스템으로 사용한다.

(파티션을 만들 때 대소문자 구분 저널링을 사용한다)

 

ext4 저널링 파일 시스템은 디스크에 아직 커밋되지 않은 작업 저널을 유지하여 시스템 충돌 또는 정전 후 일정량의 데이터 손실을 방지할 수 있다.

ext4 파일 시스템이 부팅 시 "불완전한"것으로 판단되면 (저널에 남아있는 작업의 추적) 시스템은 fsck를 실행하여 파일 시스템을 복구하고 커밋되지 않은 블록을 lost + found / 디렉터리에 기록한다.

최소한 파일 시스템은 작동 상태로 복원한다.

 

과거 Unix는 대소문자를 구분하는 파일 시스템이었다.

(Windows만 대소문자를 구분하지 않았었는데 나중에 Mac OS X에서도 구분하지 않는 것을 기본으로 했다.) 

OS 설정에 따라 다르지만 기본적으로 Mac OS X 및 Windows는 대소문자를 구분하지 않고 Linux는 대소문자를 구분한다.

 

대소문자 구분 파일 시스템의 장점과 단점이 있겠지만 장점으로는 파일 관련 함수들의 속도가 빠르다.

그래서 처음 macOS 설치 파티션을 대소문자 구분으로 선택하였기 때문에 문제가 발생되었다.

 

IntelliJ 플랫폼을 기반으로 하는 모든 IDE에는 파일 시스템을 대소문자를 구분할지 여부를 나타내는 전역 설정이 있다.

위 경고는 프로젝트를 열 때 IDE가 빠른 검사를 수행했으며

프로젝트가 위치한 파일 시스템의 대소문자 구분이 "idea.case.sensitive.fs" 설정과 일치하지 않는 Event Log이다.

 

Help -> Edit Custom Properties.

idea.case.sensitive.fs=true

위와 같이 설정하고 Android Studio를 완전히 종료하고 다시 시작하면 적용된다.

 

반응형