
프론트엔드
APK 빌드 환경
두줄요약
Windows에서 React Native APK 빌드가 경로 길이 제한으로 실패하는 문제를 다뤘습니다. Junction과 짧은 CMake 스테이징 경로, 캐시 삭제로 해결하는 방법을 정리했습니다.
문제 상황
- Windows의 React Native Expo CNG 앱에서 Android APK 빌드가
Filename longer than 260 characters로 실패하는 경로 길이 문제 - 앱 코드 오류가 아니라 Win32 경로 제한, CMake/Ninja 산출물 경로,
node_modules의 긴 네이티브 소스 경로가 겹치며 발생
원인 분석
- 기본
MAX_PATH260자 제한과 긴 프로젝트 루트 경로의 조합 react-native-screens,safe-area-context같은 네이티브 패키지 추가로 오브젝트 파일 경로가 더 길어짐- 프로젝트 루트만 줄여서는 부족하고 CMake 중간 산출물 위치까지 짧아야 함
해결 방법
- 프로젝트 루트에 Junction 생성 후 그 경로에서 네이티브 빌드 실행
android/app/build.gradle의buildStagingDirectory를 짧은 절대 경로로 지정android/app/.cxx캐시 삭제 후 재빌드
주의할 점
subst는 Metro, realpath, Gradle 캐시와 경로 충돌을 만들 수 있어 비권장- Metro는 정규 프로젝트 경로에서 실행하고, 네이티브 빌드만 Junction 경로에서 실행
expo prebuild --clean시android/의 수동 설정이 사라질 수 있음


