본문 바로가기

소프트웨어/안드로이드

[Android] Windows 개발 소스를 Linux에서 빌드할 때 주의사항

Windows 10에서 안드로이드 프로젝트를 진행하고 있었습니다.

 

그러나 어느날 문득 apk/so 배포가 너무 귀찮아서(몇분 안걸리긴함..) Ubuntu에 Docker올리고 Jenkins를 설치하여 빌드 자동화 구성을 하였으나 빌드 Fail이 자꾸 발생하였습니다. 감떨어졌나?

 

Git checkout도 성공적이었고 Gradle wrapper도 잘 동작하였고 ANDROID_HOME도 잘 찾았으며 Android SDK까지 기존 윈도우 환경과 동일하게 세팅했는데???

 

 

약간의 삽질 끝에 찾아낸 원인은 다음과 같았습니다.

 

shoveling

 

"대소문자"

 

제 경우에는 총 두 군데에서 문제가 발생하였는데 다음과 같았습니다.

 

  • IAIDLHelper.aidl

IAIDLHelper.aidl 파일 내에는 interface IAidlHelper로 되어 있어서 파일명과 일치하지 않았습니다.

 

 

  • ExtApi.jar

build.gradle의 dependency에 해당 라이브러리 참조를 '/lib/extapi.jar'로 작성되어 있었습니다.

 

Windows에서는 대소문자를 구분하지 않는 반면 Linux에서는 대소문자를 구분했기 때문에 Windows에서 빌드가 멀쩡히 잘 되던 것이 Linux에서는 빌드가 안됐었던 것이죠...

 

 

 

 

아무튼 결론:

Case Sensitive를 항상 잘 지키자!