웨어러블 앱을 만들고 실행하기

시계에서 직접 실행되는 Wear OS 앱을 통해 센서, GPU와 같은 하드웨어에 액세스할 수 있습니다. 웨어러블 앱은 Android SDK를 사용하는 다른 앱과 비슷하지만 디자인과 기능 면에서 다릅니다.

Wear 앱은 전화 앱과 별도로 작동하여, 사용자가 휴대전화를 자유롭게 선택할 수 있도록 해야 합니다. 자세한 내용은 독립형 앱을 참조하세요.

참고: Wi-Fi 또는 블루투스를 통해 시계에 연결하여 실제 시계에서 앱을 테스트할 수 있습니다. 실제 시계를 사용하여 개발하면 전체 사용자 환경을 더 효과적으로 평가할 수 있습니다. 시계 에뮬레이터를 사용할 수도 있습니다. 즉, Android 스튜디오의 시계 에뮬레이터를 사용하여 다양한 화면 모양과 크기로 앱을 테스트할 수 있습니다.

환경 설정

Android 스튜디오의 최신 버전을 설치합니다. Android 스튜디오에서 앱을 만드는 방법에 관한 자세한 내용은 프로젝트 개요를 참조하세요.

SDK Manager를 사용하여 Android 플랫폼의 최신 버전이 있는지 확인합니다. 구체적으로, SDK Platforms 탭에서 Android 8.0 (Oreo)을 선택합니다.

중국에서 Wear OS 앱을 제공할 계획이라면 중국용 Wear OS 앱 만들기를 참조하세요.

Wear OS 앱 만들기

Android 스튜디오의 New Project 마법사를 사용하여 Wear OS 앱을 만들 수 있습니다.

Wear OS 프로젝트 시작

Android 스튜디오에서 프로젝트를 만들려면 다음 단계를 따르세요.

  1. File > New > New Project를 클릭합니다.
  2. Configure your new project 화면에서 기본값을 적용하고 Next를 클릭합니다.
  3. Target Android Devices 화면에서 Wear 옵션만 선택하고 Minimum SDK 목록에서 사용 가능한 최신 옵션을 선택합니다.
  4. Next를 클릭한 후, Add an Activity to Wear 화면에서 Blank Wear Activity를 선택하고 Next를 클릭합니다.
  5. Customize the Activity 화면에서 Finish를 클릭합니다.

    Android 스튜디오에서 템플릿을 사용하여 앱을 만듭니다.

  6. 앱 모듈의 build.gradle 파일에서 다음과 같이 합니다.
    • android 섹션에서 compileSdkVersion이 26으로 설정되었는지 확인합니다.
    • android 섹션에서 targetSdkVersion이 26으로 설정되었는지 확인합니다.
    • dependencies 섹션을 업데이트합니다. 첫 번째 종속 항목은 권장사항을 보여주는 클래스가 있는 Wear UI 라이브러리에 관한 종속 항목입니다. 두 번째 종속 항목은 추가 클래스(시계 모드용 클래스 포함)가 있는 웨어러블 지원 라이브러리에 관한 종속 항목입니다.
          dependencies {
            implementation 'androidx.wear:wear:1.0.0'
            implementation 'com.google.android.support:wearable:2.5.0'
            compileOnly 'com.google.android.wearable:wearable:2.5.0'
          }
  7. 앱의 Android 매니페스트 파일(AndroidManifest.xml)에서 앱이 독립형임을 표시합니다. 구체적으로, 다음과 같이 meta-data 태그를 추가합니다.
    • <application> 태그를 찾습니다.
    • 이 태그의 하위 요소로 이름이 com.google.android.wearable.standalone이고 값이 truemeta-data 태그를 사용합니다.
          <application>
          ...
            <meta-data
              android:name="com.google.android.wearable.standalone"
              android:value="true" />
          ...
          </application>
          
  8. Android 매니페스트 파일에서 <uses-feature> 태그가 정의되어 있는지 확인합니다. 최소한 다음과 같이 android:name="android.hardware.type.watch"로 정의되어 있어야 합니다.
        <manifest>
        ...
          <uses-feature android:name="android.hardware.type.watch" />
        ...
        </manifest>
        
  9. Android 스튜디오 프로젝트를 동기화합니다. 새 모듈에서 코드를 실행하려면 에뮬레이터 시작 및 Wear OS 앱 실행을 참조하세요.

에뮬레이터 시작 및 Wear OS 앱 실행

에뮬레이터를 사용하려면 AVD라는 Android Virtual Device를 구성해야 합니다. SDK Manager에서 Android SDK 플랫폼 도구의 최신 버전이 있는지 확인합니다.

다음과 같이 AVD를 구성하고 앱을 실행합니다.

  1. Android 스튜디오에서 Tools > AVD Manager를 선택하여 Android 가상 기기 관리자를 엽니다.
  2. Create Virtual Device를 클릭합니다.
  3. Category 창에서 Wear를 선택하고 하드웨어 프로필을 선택합니다. Next를 클릭합니다.
  4. 다운로드할 O 이미지를 선택합니다. 예를 들어 Release Name이 O이고 API Level이 26이며 Target이 'Android 8.0 (Wear OS)'인 이미지를 선택합니다. Next를 클릭한 후 Finish를 클릭합니다.
  5. Android 가상 기기 관리자를 닫습니다.
  6. Android 스튜디오 툴바의 타겟 기기 드롭다운 메뉴에서 방금 만든 AVD를 선택한 후 Run 을 클릭합니다.

    타겟 기기 드롭다운 메뉴

    AVD가 시작되고 잠시 후에 앱을 실행합니다. 'Hello...' 메시지가 표시됩니다.

AVD 사용에 관한 자세한 내용은 Android Emulator에서 앱 실행을 참조하세요.

시계 AVD와 휴대전화 페어링

참고: 시계 AVD를 휴대전화 AVD와 페어링하는 기능은 지원되지 않습니다. 연결된 휴대전화와 페어링해야 합니다.

개발용 시계 AVD에서 Google 계정을 사용하려는 경우 휴대전화를 시계 AVD와 페어링하고 Google 계정을 동기화할 수 있습니다.

  1. 휴대전화 설정 단계를 따릅니다.
  2. 휴대전화에서 개발자 옵션USB 디버깅을 사용 설정합니다.
  3. USB를 통해 휴대전화를 컴퓨터에 연결합니다.
  4. 휴대전화가 연결될 때마다 연결된 휴대전화로 AVD의 통신 포트를 전달합니다.
    adb -d forward tcp:5601 tcp:5601
  5. 휴대전화의 Wear OS 앱에서 표준 페어링 절차를 시작합니다. 예를 들어 환영 화면에서 설정 버튼을 탭합니다. 또는 기존 시계가 이미 페어링되어 있다면 왼쪽 상단 드롭다운에서 새 시계 추가를 탭합니다.
  6. 휴대전화의 Wear OS 앱에서 더보기 버튼을 탭하고 에뮬레이터와 페어링을 탭합니다.
  7. 설정 아이콘을 탭합니다.
  8. 기기 설정에서 에뮬레이터를 탭합니다.
  9. 계정을 탭하고 Google 계정을 선택한 다음, 마법사의 단계에 따라 계정을 에뮬레이터와 동기화합니다. 필요한 경우, 화면 잠금 기기 비밀번호와 Google 계정 비밀번호를 입력하여 계정 동기화를 시작합니다.

Wear OS 프로젝트 업데이트

기존 프로젝트가 있다면 build.gradle 파일을 업데이트해야 할 수 있습니다. Gradle 버전 4.1에서는 google()을 사용하여 Google Maven 저장소를 표시할 수 있습니다. 이전 버전의 Gradle에서는 지원되지 않습니다. 관련 정보는 Google의 Maven 저장소를 참조하세요.

따라서 Gradle 버전이 4.1보다 낮다면 Android 스튜디오 프로젝트의 build.gradle 파일에 Google Maven 저장소 URL을 제공합니다. 구체적으로, repositories 섹션에 다음과 같이 maven 섹션을 추가합니다.

      allprojects {
          repositories {
              jcenter()
              maven {
                  url "https://maven.google.com"
              }
          }
      }

시계 설정

시계에 앱을 배포하는 방법은 휴대전화에 앱을 배포하는 경우와 비슷합니다.

이 섹션에서는 시계에 USB 포트가 있다고 가정합니다. 시계에 USB 포트가 없는 경우 Wi-Fi 또는 블루투스를 통해 시계를 연결하는 안내를 참조하세요.

시계에서 adb 디버깅 사용:

  1. 시계에서 설정 메뉴를 엽니다.
  2. 메뉴의 맨 아래로 스크롤합니다. 개발자 옵션 항목이 없는 경우 시스템, 정보를 차례로 탭합니다.
  3. 빌드 번호를 7번 탭합니다.
  4. 설정 메뉴에서 개발자 옵션을 탭합니다.
  5. ADB 디버깅을 사용 설정합니다.

시계 연결:

  1. 시계에 직접 앱을 설치할 수 있도록 USB를 통해 시계를 컴퓨터에 연결합니다. 또는 Wi-Fi 또는 Bluetooth를 통해 시계를 컴퓨터에 연결합니다.
  2. 시계에서 이 컴퓨터에서 항상 허용을 탭하고 확인을 탭합니다.

시계를 연결한 후에 휴대전화와 마찬가지로 배포 타겟을 선택하여 앱을 실행합니다.

휴대전화 설정

이 섹션에는 Wear OS 호환 앱을 사용하여 호환 휴대전화를 설정하는 방법에 관한 정보가 포함되어 있습니다.

참고: Wear OS 앱은 독립형으로, 휴대전화와는 별도로 작동해야 합니다. 그러나 앱이 전화 앱을 사용하는 경우, 최신 Wear OS 호환 앱으로 휴대전화를 업데이트하는 방법에 관한 아래 정보를 참조하세요.

호환 앱의 Android 버전 사용

Android 휴대전화에서 Wear OS 앱 등록정보로 이동합니다. 업데이트를 탭하여 앱을 다운로드하고 설치합니다. 설치 후에 앱에 자동 업데이트가 선택되어 있는지 확인합니다(다운로드한 앱 업데이트의 '특정 앱의 자동 업데이트 설정' 섹션 참조). 열기를 탭하여 앱을 시작합니다.

시계와 Android 휴대전화 페어링

휴대전화에 호환 앱을 설치한 후에 필요한 경우 더 이상 사용하지 않는 시계를 페어링 해제('삭제')합니다. 그런 다음, 새로운 이미지의 시계에 휴대전화를 페어링할 수 있습니다.

  1. 휴대전화의 기기 목록에서 기기 이름을 선택합니다. 페어링 코드가 휴대전화와 시계에 표시됩니다. 코드가 일치하는지 확인합니다.
  2. 페어링을 탭하여 페어링 절차를 계속합니다. 시계가 휴대전화에 연결되면 확인 메시지가 표시됩니다. 휴대전화에 계정이 나열된 화면이 표시됩니다.
  3. 추가하고 시계에 동기화할 Google 계정을 선택합니다.
  4. 화면 잠금을 확인하고 비밀번호를 입력하여 휴대전화에서 시계로 계정 복사를 시작합니다.
  5. 마법사의 안내에 따라 페어링 절차를 완료합니다.

iPhone용 호환 앱

iOS 호환 앱을 사용할 수 있지만, 앱이 설치된 휴대전화에서 iOS 8.2 이상을 실행해야 합니다.

  1. iPhone에서 App Store를 방문하여 Wear 호환 앱을 다운로드하고 설치합니다.
  2. 시계와 휴대전화에 관한 안내에 따라 페어링 절차를 시작합니다. 자세한 내용은 관련 도움말 페이지를 참조하세요.

프로젝트에 Wear OS 모듈 추가

Android 스튜디오에서 기존 프로젝트에 Wear OS 기기용 모듈을 추가하여 모바일(전화) 앱의 코드를 재사용할 수 있습니다.

기존 프로젝트에서 Wear OS 모듈 제공

Wear OS 모듈을 만들려면 기존 Android 스튜디오 프로젝트를 열고 다음 작업을 수행하세요.

  1. File > New > New Module을 클릭합니다.
  2. New Module 창에서 Wear OS Module을 선택하고 Next를 클릭합니다.
  3. Configure the new module에서 다음을 입력합니다.
    • Application/Library Name: 이 문자열은 새 모듈의 앱 런처 아이콘 제목입니다.
    • Module Name: 이 문자열은 소스 코드 및 리소스 파일의 폴더 이름입니다.
    • Package Name: 이 문자열은 모듈 내 코드의 자바 네임스페이스입니다. 이 문자열은 모듈의 Android 매니페스트 파일에서 package 속성으로 추가됩니다.
    • Minimum SDK: 앱 모듈이 지원하는 플랫폼의 가장 낮은 버전을 선택합니다. 예를 들어 API 26: Android 8.0 (Oreo)을 선택합니다. 이 값은 build.gradle 파일의 minSdkVersion 속성을 설정하며, 나중에 편집할 수 있습니다.
  4. Next를 클릭합니다. 코드 템플릿을 포함하는 옵션이 표시됩니다. Blank Wear Activity를 클릭하고 Next를 클릭합니다.
  5. Configure Activity 창에서 Activity Name, Layout NameSource Language에 관해 기본값을 적용하거나 값을 입력합니다. Finish를 클릭합니다.

Android 스튜디오에서 새 모듈의 파일을 만들고 동기화합니다. Android 스튜디오는 Wear OS에 필요한 모든 종속성도 새 모듈의 빌드 파일에 추가합니다. 새 모듈이 화면 왼쪽의 Project 창에 나타납니다. 새 모듈의 폴더가 보이지 않으면 창에 Android 뷰가 표시되는지 확인합니다.

새 Wear OS 모듈의 build.gradle 파일에서 다음과 같이 합니다.

  • android 섹션에서 compileSdkVersiontargetSdkVersion의 값을 26으로 설정합니다.
  • 다음을 포함하도록 dependencies 섹션을 업데이트합니다.
        dependencies {
          implementation 'androidx.wear:wear:1.0.0'
          implementation 'com.google.android.support:wearable:2.5.0'
          compileOnly 'com.google.android.wearable:wearable:2.5.0'
        }
  • Android 스튜디오 프로젝트를 동기화합니다. 새 모듈에서 코드를 실행하려면 에뮬레이터 시작 및 Wear OS 앱 실행을 참조하세요.

라이브러리 포함

참고: Wear OS 개발에는 프로젝트 설정, 라이브러리 포함 및 패키징을 제공하는 Android 스튜디오를 사용하는 것이 좋습니다.

Android 스튜디오의 Project Wizard를 사용할 때 마법사가 적절한 모듈의 build.gradle 파일에 있는 종속 항목을 가져옵니다. 그러나 종속 항목이 모든 앱에 필요한 것은 아닙니다. 종속 항목에 관한 아래 정보를 검토하세요.

기존 Wear 프로젝트를 최신 SDK 버전으로 업데이트하려면 Wear OS 프로젝트 시작 섹션에 나열된 설정을 사용합니다.

알림

알림의 종속 항목에 관한 자세한 내용은 Wear에서 알림 만들기를 참조하세요.

Wear UI 라이브러리

Wear UI 라이브러리의 구성요소는 시계 앱의 권장사항을 보여주기 때문에 권장됩니다. 따라서 Wear UI 라이브러리의 종속 항목을 추가하는 것이 좋습니다. 자세한 내용은 다음 페이지를 참조하세요.

웨어러블 지원 라이브러리

웨어러블 지원 라이브러리에는 시계 앱의 UI 구성요소가 있습니다. 일부 클래스는 사용되지 않습니다. 지원 중단된 클래스를 대체하는 클래스에 관한 자세한 내용은 Wear UI 라이브러리 사용을 참조하세요.

UI 구성요소는 언제든지 변경될 수 있지만, 구성요소 변경 시 구성요소가 앱에 컴파일되므로 앱이 중단되지 않습니다. 업데이트된 라이브러리에서 새로운 기능을 가져오려면 새 라이브러리 버전을 정적으로 링크하고 앱을 적절하게 업데이트합니다.

Play 서비스 및 웨어러블 데이터 영역 API

앱이 데이터 동기화 및 전송(데이터 영역 API 사용)이나 다른 이유로 Google Play 서비스를 사용한다면 Google Play 서비스의 최신 버전이 필요합니다. 이러한 API를 사용하지 않는 경우 종속성을 제거합니다.

전화 앱과 시계 앱의 차이점

전화 앱과 시계 앱의 몇 가지 차이점은 다음과 같습니다.

  • 시계 앱은 관련된 경우 시계 특정 API를 사용합니다(예: 원형 레이아웃, 웨어러블 창, 대기 모드 등).
  • 시계 앱에는 시계와 관련된 기능이 포함되어 있습니다.
  • 시계 앱은 많은 표준 Android API에 액세스할 수 있지만 다음을 지원하지 않습니다.

    API를 사용하기 전에 hasSystemFeature()를 호출하여 시계가 기능을 지원하는지 확인할 수 있습니다.

시계의 전력 절약

시계의 전력을 절약하려면 앱에서 대기 모드를 사용 설정합니다. 시계가 활동 중에 유휴 상태이거나 사용자가 손바닥으로 화면을 가리면 시계가 대화형 모드에서 대기 모드로 전환됩니다. 대기 모드로 전환될 수 있는 시계 앱을 상시 사용 설정 앱이라고 합니다. 아래에서는 상시 사용 설정 앱의 두 가지 작동 모드를 설명합니다.

대화형
이 모드에서는 유동적인 애니메이션과 전체 색상을 사용합니다. 또한 앱이 입력에 응답합니다.
대기
이 모드에서는 흑백 그래픽으로 화면을 렌더링하고 입력 힌트를 표시하지 않습니다. 이 표시 모드는 Android 5.1 이상을 실행하는 기기에서만 지원됩니다.

Android 5.1 이전 버전을 실행하는 기기 또는 대기 모드를 지원하지 않는 앱의 경우, 사용자가 활동 중에 유휴 상태이거나 활동 중에 손바닥으로 화면을 가리면 대기 모드에서 활동 대신 Wear 홈 화면이 표시됩니다. Android 5.1 이전 버전에서 영구적인 콘텐츠를 표시해야 한다면 대신 컨텍스트 스트림에 알림을 만듭니다.