07
12

manifest에 들어가는 변수로 사용할 때는

KEY=dijfo22edfio33

이렇게 해야 되는데 BuildConfig로 접근할때는 큰 따옴표를 붙여줘야 빌드에러가 나지않는다.

KEY="dijfo22edfio33"

# 왜?? - XML 과  Java/Kotlin 차이 때문이다.

`AndroidManifest.xml` 파일은 XML형식이고, 속성 값이 기본적으로 문자열 취급이다. 따라서 따로 문자열로 묶어주지 않아도 알아서 문자열이라고 인식하게 되는데, BuildConfig로 접근할 때는 문자열 리터럴만 진짜 문자열로 인식하기 때문에 큰 따옴표 `" "` 를 꼭 붙여줘야 한다. 따라서 BuildConfig에서 큰따옴표를 사용하지 않으면, gradle이 이를 문자열이 아닌 변수와 상수와 같은 다른 타입으로 해석하려고 시도하여 빌드 에러가 발생한다.

 

정리해보면 아래와 같다. 

  • `AndroidManifest.xml`에서의 사용:
    • `Manifest`에서는 키-값 쌍을 문자열로 취급
    • 따옴표 없이 값을 직접 사용
    • `KEY=dijfo22edfio33`
  • `BuildConfig`를 통한 접근:
    • `BuildConfig`는 Java/Kotlin 코드로 생성
    • 여기서 문자열 값은 Java/Kotlin의 문자열 리터럴로 취급
    • 문자열임을 나타내기 위해 큰따옴표로 묶어야 됨
    • `KEY="dijfo22edfio33"`
도움이 됐다면 댓글이나 공감 버튼 한 번씩 누르고 가주세요!

 

반응형
COMMENT