티스토리 뷰
기존 방식
app/src/main/java/com/hamond/escapeanchovy/constants/Secret.kt
기존에는 .gitIgnore 파일에 깃허브에 업로드 하지 않을 상수 파일을 설정하고
object Secret {
const val API_KEY = "asdfasdfasdf"
}
여기다가 Api 키를 작성한 뒤 사용하는 방식이었다.
문제 발생
카카오 로그인을 구현할 때 매니패스트 파일에서
Api키를 활용해야되는 문제가 발생했다.
BuildConfig 활용
local.properties에 키값을 저장한다.
해당 파일은 기본적으로 gitIgnore 설정이 되어있다.
android {
...
val properties = Properties()
properties.load(FileInputStream(rootProject.file("local.properties")))
defaultConfig {
...
buildConfigField("String", "GOOGLE_CLIENT_ID", properties.getProperty("google_client_id"))
buildConfigField("String", "KAKAO_NATIVE_APP_KEY", properties.getProperty("kakao_native_app_key"))
resValue("string", "kakao_oauth_host", properties.getProperty("kakao_oauth_host"))
buildConfigField("String", "NAVER_CLIENT_ID", properties.getProperty("naver_client_id"))
buildConfigField("String", "NAVER_CLIENT_SECRET", properties.getProperty("naver_client_secret"))
}
...
}
앱 수준의 그래들 파일에 해당 코드를 추가한다.
그 후 Reubild Project를 눌러준다.
키값 활용
@HiltAndroidApp
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
FirebaseApp.initializeApp(this)
KakaoSdk.init(this, BuildConfig.KAKAO_NATIVE_APP_KEY)
NaverIdLoginSDK.initialize(this, BuildConfig.NAVER_CLIENT_ID, BuildConfig.NAVER_CLIENT_SECRET, this.getString(R.string.app_name))
}
}
BuildConfig.키네임으로 저장된 키값을 사용할 수 있다.
키 네임 crtl + 좌클릭 누르면 BuildConfig.java 파일로 이동해
해당 키값이 무슨 값인지 알 수 있다.
'멸치탈출 > 트러블 슈팅' 카테고리의 다른 글
Compose 화면 전환 애니메이션 없애기 (0) | 2024.11.07 |
---|---|
공식문서 따라 Hilt 설정 시 빌드오류가 발생하는 문제 해결 (0) | 2024.11.07 |