Android Studio - Google Map

Minjae Lee·2025년 5월 4일

Android Studio

목록 보기
11/12

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'
}

  • secrets.properties
MAPS_API_KEY=AIza...
  • local.defaults.properties

secrets.properties 파일이 없는 경우 빌드에 실패하지 않도록 API 키의 백업 위치를 제공하는 역할

MAPS_API_KEY=DEFAULT_API_KEY
  • Manifest.xml
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>

0개의 댓글