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"`
도움이 됐다면 댓글이나 공감 버튼 한 번씩 누르고 가주세요!
반응형
'Android 🖥️ > gradle📖' 카테고리의 다른 글
build-logic 적용하기(feat. 멀티모듈) (0) | 2024.09.01 |
---|---|
API키 숨기기 - providers 파라미터 추가 (0) | 2024.06.26 |
gradle에서 api와 implementation 차이 (0) | 2023.12.15 |