[Android] API 키 숨기기

이주형·2024년 6월 12일

📌 API 키 숨기기

코틀린 파일에서 사용하는 방법

1. local.properties 파일에 키 추가

naver_client_id="*******"

2. 앱 수준 build.gradle.kts에서 local.properties의 값 가져오기

val properties = Properties()
properties.load(FileInputStream(rootProject.file("local.properties")))
val naverClientId: String = properties.getProperty("naver_client_id")

android {
    defaultConfig {
        ...
        buildConfigField("String", "NAVER_CLIENT_ID", naverClientId)
    }
    buildFeatures {
        buildConfig = true
    }
}

이렇게 하면 BuildConfig에 키값이 생성되고 아래와 같이 사용할 수 있다.

NaverMapSdk.getInstance(this).client = 
NaverMapSdk.NaverCloudPlatformClient(BuildConfig.NAVER_CLIENT_ID)

AndroidManifest에서 사용하는 방법

manifestPlaceholders를 사용하는 방법이 있는데 도저히 안되서 다른 방법을 사용했다.

1. 루트 수준 build.gradle.kts에 코드 추가

plugins {
    ...
    id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}

2. 앱 수준 build.gradle.kts에 코드 추가

plugins {
	// ...
	id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}

AndroidManifest.xml에서 사용

<meta-data
            android:name="com.naver.maps.map.CLIENT_ID"
            android:value="${naver_client_id}" />

0개의 댓글