[Android Wear] 개발환경 세팅 시 겪는 몇가지 문제점
참고 자료 :
How to develop and pacakge Android wear App using Eclipse
일단 기본적으로 구동하는 과정은,
"안드로이드 앱" 과 "안드로이드 웨어에 탑재 될 앱" 두 가지 프로젝트를 생성해서 만들게 된다.
(이클립스의 경우 수동으로 Packaging을 해야 하기 때문에)
그리고, 안드로이드 앱의 res의 raw 폴더에 "안드로이드 웨어에 탑재 될 앱"의 APK 파일을 넣고,
Manifest.xml 안에 있는
<meta-data
android:name="com.google.android.wearable.beta.app"
android:resource="@xml/wearable_app_desc" />
의 정보를 통해 앱이 설치 될 때, "안드로이드 웨어 앱"도 같이 설치가 되는 방식.
기존에 안드로이드 앱 안에 다른 앱을 설치할 경우에는 코드 상에서 설치를 하도록 했는데, 웨어 앱은 설치시에 같이 자동으로 설치가 되는 구조.
여기서 주의해야 할 점은, "웨어앱"과 "안드로이드앱"의 패키지네임이 같아야 한다는 점. 그리고
<uses-feature
android:name="android.hardware.type.watch"
android:required="false" />
두 프로젝트 모두 선언이 되어 있어야 한다는 점.
두 앱 간에는 GoogleApiClient 를 통해 Data 혹은 Message를 주고 받으며, 안드로이드 웨어 앱에서 서비스를 띄우는 것을 보고 순간 흠칫. (시계도 안드로이드 기반이니 안드로이드에서 했던 모든 것들이 되는 게 당연할텐데, 웨어에서 서비스가 돌리는 것을 보고 왜 놀랐을까?)
현재 말이 많은 유료 앱에 들어있는 웨어 앱이 정상적으로 설치되지 않는 문제는, APK 설치 시 raw폴더 안에 있는 APK파일 설치 시 압축을 해제해야 하는데, 유료앱이기에 빌드가 될 때 암호화가 되서 다시 풀리지 않는다는 점. (다음 번 SDK업데이트에 해결된다고 하는데, 혹여나 필요한 분들은 구글링하면 우회하는 방법이 존재합니다)
G Watch 실 기기로 앱을 테스트 하다보니 Log도 보기 힘들고 여러가지로 불편함이 많음.
기존에는 에뮬레이터를 사용하지 않았지만, Wear의 경우에는 실제 기기와 웨어 AVD를 연결해서 사용하는 것이 디버깅하기에는 편리함. (연결 하는 방법에 대한 자료)