GOOGLE API 사이트에서 새 프로젝트 생성 후 메뉴 > API 및 서비스 > API 및 서비스 사용 설정

maps sdk for android 검색

사용 클릭

발급받은 API 키 복사 (필요한 경우 API Key 제한)

발급받은 API 키를 다시 클릭하면 아래 사진과 같이 키 제한 사항을 설정할 수 있다. API 키를 특정 앱에서만 제한하기 위해서, 앱의 SHA-1 서명을 입력해야 한다. SHA-1 서명을 구하는 방법은 Firebase 사용하기 블로그를 보면 나와있다.

GOOGLE Maps 사이트에 접속하여 API 사용 설정 클릭

Tools > SDK Manager > SDK Tools > Google Play services 를 체크한 후, OK 버튼을 누른다.

settings.gradle
pluginManagement {
repositories {
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
프로젝트 수준 build.gradle
plugins {
alias(libs.plugins.android.application) apply false
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1'
}
모듈 수준 build.gradle
android {
...
compileSdk 34
defaultConfig {
minSdk 21
targetSdk 34
...
}
...
buildFeatures {
buildConfig true
}
}
secrets {
propertiesFileName = "secrets.properties"
defaultPropertiesFileName = "local.defaults.properties"
ignoreList.add("keyToIgnore")
ignoreList.add("sdk.*")
}
dependencies {
...
implementation 'com.google.android.gms:play-services-maps:19.0.0'
}

MAPS_API_KEY=AIza...
secrets.properties 파일이 없는 경우 빌드에 실패하지 않도록 API 키의 백업 위치를 제공하는 역할
MAPS_API_KEY=DEFAULT_API_KEY
Manifest
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
...
tools:targetApi="34">
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${MAPS_API_KEY}" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
...
</application>
</manifest>