기존 프로젝트 구성

이 페이지에서는 Google 지도 프로젝트 이외의 프로젝트 유형을 사용하는 경우 Android용 Maps SDK를 사용하도록 기존 Android 프로젝트를 구성하는 방법에 대해 설명합니다. Google 지도 프로젝트 유형을 사용하는 새 앱을 만들려면 시작하기를 참고하세요.

개요

Android 애플리케이션에 지도를 추가하는 전체 과정은 다음과 같습니다.

  1. Android 스튜디오를 설치합니다.
  2. Android용 Maps SDK가 포함된 Google Play 서비스 SDK를 설치하고 구성합니다. 참고: Google Maps Platform 프리미엄 플랜 라이선스로 Android용 Maps SDK를 사용하는 경우에는 프리미엄 플랜 SDK를 대신 다운로드하여 구성해야 합니다.
  3. API 키를 가져옵니다. 이렇게 하려면 Google Cloud Console에 프로젝트를 등록하고, API 키를 만들고, 앱의 서명 인증서를 사용하여 API 키를 제한해야 합니다.
  4. 애플리케이션의 매니페스트에 필수 설정을 추가합니다.
  5. 앱 수준 build.gradle 파일에 지도의 종속 항목을 추가합니다.

다음은 이 과정의 각 단계에 대한 자세한 설명입니다.

Android 스튜디오 다운로드

가이드에 따라 Android 스튜디오를 다운로드하여 설치하세요.

Google Play 서비스 SDK 설치

이 섹션의 단계를 완료하려면 앱에 적용할 Android 프로젝트가 필요합니다. 아직 Android 애플리케이션을 아직 만들지 않은 경우 가이드에 따라 'hello world' 앱을 만들 수 있습니다. Android 프로젝트 만들기를 참고하세요.

Maps SDK for Android는 Google Play 서비스 SDK의 일부로 배포됩니다. Android SDK Manager를 통해 Google Play 서비스 SDK를 다운로드할 수 있습니다.

자세한 내용은 Google Play 서비스 문서를 참고하세요.

Google 지도 API 키 가져오기

  1. 프로젝트에서 결제를 사용 설정합니다. 자세한 내용은 결제 계정 만들기를 참고하세요.
  2. Cloud Console에서 프로젝트의 Android용 Maps SDK를 사용 설정합니다. 자세한 내용은 API 사용 설정을 참고하세요.
  3. API 키를 가져오고 추가하며 제한하려면 API 키 가져오기 가이드를 따르세요.

앱의 매니페스트에 필수 설정 추가

애플리케이션의 AndroidManifest.xml 파일을 수정하고 다음 설정을 추가합니다.

Google Play 서비스 버전 번호 지정

AndroidManifest.xml<application> 요소 내에 다음 선언을 추가합니다. 이렇게 하면 앱이 컴파일된 Google Play 서비스의 버전이 삽입됩니다.

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

API 키 지정

API Key 가져오기 가이드에 설명된 대로 API 키를 AndroidManifest.xml 파일에 포함해야 합니다.

Android 권한 지정

<uses-permission> 요소를 AndroidManifest.xml<manifest> 요소의 하위 요소로 추가하여 애플리케이션에 필요한 권한을 지정합니다.

위치 정보 액세스 권한

애플리케이션에서 내 위치 레이어를 사용 설정하여 사용자의 현재 위치에 액세스하는 경우 위치 데이터 가이드에 설명된 대로 위치 정보 액세스 권한을 요청해야 합니다.

외부 저장소 권한

Google Play 서비스 SDK의 8.3 버전 이상을 타겟팅하는 경우 Android용 Maps SDK를 사용하기 위한 WRITE_EXTERNAL_STORAGE 권한이 더 이상 필요하지 않습니다.

Google Play 서비스 SDK의 이전 버전을 타겟팅하는 경우 android.permission.WRITE_EXTERNAL_STORAGE 권한을 요청해야 합니다.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

참고: 앱에서 런타임 권한을 사용해야 하는 API 수준 23(Android 6.0)을 타겟팅하는 경우 Google Play 서비스 SDK 8.3 이상을 타겟팅해야 합니다.

매니페스트에 자동으로 병합되는 권한

다음 권한은 Google Play 서비스 매니페스트에 정의되어 있으며 빌드 시 앱 매니페스트에 자동으로 병합됩니다. 이러한 권한을 매니페스트에 명시적으로 추가하지 않아도 됩니다.

OpenGL ES 버전 2 요구사항 지정

Maps SDK for Android에서는 OpenGL ES 버전 2를 사용하여 지도를 렌더링합니다. 다음 설정은 Google Play 서비스 매니페스트에 정의되어 있으며 빌드 시 앱 매니페스트에 자동으로 병합됩니다. 매니페스트에 명시적으로 추가할 필요가 없습니다.

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

이렇게 하면 외부 서비스에 요구사항이 전달됩니다. 특히 Google Play 스토어에서 OpenGL ES 버전 2를 지원하지 않는 기기에 앱을 표시하지 못하도록 합니다.

Apache HTTP Legacy 라이브러리 요구사항 지정

com.google.android.gms:play-services-maps:16.0.0 이하를 사용 중이고 앱이 API 수준 28(Android 9.0) 이상을 타겟팅하는 경우 AndroidManifest.xml<application> 요소 내에 다음 선언을 포함해야 합니다.

  <uses-library
      android:name="org.apache.http.legacy"
      android:required="false" />

이 선언은 com.google.android.gms:play-services-maps:16.1.0을 사용하는 경우 처리되며, 앱에서 더 낮은 API 수준을 타겟팅하는 경우에는 필요하지 않습니다.

지도의 종속 항목 추가

앱 수준 build.gradle 파일에 지도의 종속 항목을 추가합니다.

dependencies {
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    // ...
}

다음 단계

프로젝트가 구성되면 지도를 추가할 수 있습니다.