티스토리 뷰

기존 방식

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 파일로 이동해

해당 키값이 무슨 값인지 알 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함