티스토리 뷰

Android/Wear

[ Wear #1 ] Wear OS 프로젝트 만들기

녹색꼬맹이 2023. 7. 27. 15:32
반응형
SMALL

 

웨어러블 앱을 만들 때 

  • 디바이스와 상호작용 할 앱을 만들지,
  • 웨어러블 단독으로 동작하는 앱을 만들지, 

를 구분하고 시작 하는것이 좋다. 

 

디바이스와 상호 작용을 할 앱이라면, 스토어에 등록할 때 패키지 이름이 동일해야 하기 때문이다.

 

그렇지 않다면 패키지 이름은 상관 없는것 같다. 

 

반응형

 

 

나는 디바이스 앱과 상호작용이 필요하기 때문에 기존에 만들어져있던 앱과 패키지 이름을 동일하게 만들었다.

 

다른 블로그를보면 디바이스 앱이 만들어 져 있는프로젝트 에다가 newModule 로 만드는 사람들이 있는데 그건 상관이 없다

 

어떤방법이던 패키지 이름만 같으면 된다

 

나중에 디바이스 앱과 통신 하기 위해선 무조건 패키지 이름이 같아야 한다 ( application Id 도 같아야 한다 ) 

 

 

내가 여기서 해맸던 상황을 공유 하면, 

 

1. ProductFlavors

기존 디바이스 프로젝트 앱에 App Build Gradle 은 ProductFlavors 가 적용되서 다양하게 형상 관리를 할 수 있도록 적용되어 있다. 그렇다보니, 예를들면 

디버깅 버전에서과 릴리즈 버전에서 application Id 가 달랐다. 이 부분을 캐치 하지 못하고 무조건 디버깅 모드에서에 application Id만 같게 해서 테스트 했지만, 계속 실패 하는 상황이 생겨 2~3일은그냥 버렸던 기억이 있다 .. 

 

디바이스 프로젝트에서 ProductFlavors 이걸로 형상 관리를 하고 있다면 

웨어러블 프로젝트에서도 ProductFlavors 로 동일하게 처리 하는게 마음이 편하다. 

 

 

2. SigningConfigs

디바이스 프로젝트에서는 앱이 스토어에 배포된 이력이 있기 때문에 사이닝 키가 적용되어 있다. 

 

이 또한 사이닝 키도 동일하게 웨어러블 프로젝트에도 동일한 사이닝 키를 적용해야 한다. 

이부분은 나중에 디바이스와 웨어러블간 통신을 할때에도 노드 값을 찾아야 하기 때문에 꼭 같이 맞춰주어야 하며, 

 

나중에 배포등록할때에도 영향을 미친다

 

 

 

Wear OS 에서 No Activity 로

 

 

Manifest 파일

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-feature android:name="android.hardware.type.watch" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.DeviceDefault" >

        <meta-data
            android:name="com.google.android.wearable.standalone"
            android:value="false" />

        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

 

<uses-feature android:name="android.hardware.type.watch" />


<meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="false" />

이 두가지가 필수로 들어가야 한다. 

 

 

반응형
LIST
댓글