티스토리 뷰

728x90

 안드로이드 N에 비활성화되어 있는 Freeform 을 활성화하는 방법을 소개합니다.

 GDG Korea Android에 ganachoco(Young-Ho Cha) 님이 소개해주신 "Android N Feature Spotlight: Freeform Window Mode Offers True Windowed Multitasking, But It's Disabled By Default" 을 참고하여 작성합니다.


 위의 글은 크게 다음을 소개하고 있습니다.

 - Android 에뮬레이터를 통한 적용 방법

 - Android N Preview 디바이스에 직접 적용하는 방법


 이번 글에서는 Android Virtual Device를 통한 적용 방법을 소개하겠습니다.


 안드로이드 N에서 추가된 Multi-Window에 대한 좀 더 자세한 내용은 다음 글을 참고해주세요.

 Android Multi-window 살펴보기http://thdev.tech/Android-N-Preview-Multi-Window/



Android N Virtual Device 생성하기


 Android N Virtual Device 생성하는 방법은 어렵지 않지만 간단하게 소개하겠습니다.

 우선 Android Studio 2.1 Preview 버전이 설치되어 있어야 합니다.

 정식 버전을 설치하고 Canary Channel 을 통해 2.1 Preview을 설치할 수도 있지만 다음 링크를 통하면 바로 2.1 Preview를 설치할 수 있습니다.

 : http://tools.android.com/download/studio/builds/2-1-preview-4


 설치 후 다음 화면에서 SDK를 눌러 Android N SDK를 설치해주시면 됩니다.

 해당 메뉴 접근시 Android N Preview SDK가 눈에 띄실 겁니다.

 체크하여 OK/Apply을 눌러 설치를 하시면 됩니다.


 


설치가 완료되면 안드로이드 스튜디오에서 다음 버튼을 찾아서 눌러주세요

메뉴에서는 Tools -> Android -> AVD Manager입니다.


아무것도 없다면 다음과 같습니다.

Create Virtual Devices... 을 눌러서 새로운 Virtual Devices를 생성합니다.




저는 Freeform Window mode를 사용할 목적이기에 Tablet의 Nexus 9를 생성하도록 하겠습니다.(화면 큰 것 기준...)




Android N Preview 이미지는 x86 Images 만 제공하고 있습니다.

x86 Images에 들어가서 N 버전 2개 중에 하나를 골라주시면 됩니다.




 별도 설정할 부분은 없으니 완료를 하시면 됩니다.




 에뮬레이터가 버전 2.0이 되면서 많은 성능 향상이 있었습니다. 

 속도도 빨라지고, 안드로이드 아직 정식 버전이 되지는 않았지만 2.0 기반의 실시간으로 앱을 확인할 수 있는 기능도 제공합니다. 

 이제 사용할만 해졌다는 말이죠..

 Android N으로 Virtual Device를 생성하니 이제는 크롬이 기본 앱으로 제공되고 있습니다.



Android N Multi-Window 기본 사양


 Android N Multi-Window의 기본 사양은 아래 화면처럼 동작하게 됩니다. 태블릿/폰 모두 왼쪽/오른쪽으로 분리되거나 상/하로 앱잉 분리됩니다.

 다른 화면을 변경하고 싶으면 하단의 네모 모양 2개짜리 버튼을 눌러서 다른 앱으로 교체할 수 있습니다.


 최대 띄울 수 있는 창이 2개입니다.





비활성화되어 있는 Freeform Window mode 활성화하기


 에뮬레이터에서는 다음의 명령을 통해서 어렵지 않게 적용이 가능합니다.

 터미널을 실행하여 다음 명령을 순서대로 실행합니다.

 이 명령어는 system을 수정하게 됩니다.


adb shell

su

setenforce 0

settings put global enable_freeform_support 1

cd /data/local/tmp

mkdir permissions

cd permissions

cp -a /system/etc/permissions/* ./

sed -e "s/live_wallpaper/freeform_window_management/" android.software.live_wallpaper.xml >freeform.xml

mount --bind . /system/etc/permissions


[wait]

stop


[wait]

start



 위와 같은 명령어를 통해서 간단하게 Freeform Window Mode를 적용할 수 있습니다.

 위의 명령어를 한 줄씩 복사하여 터미널에 적용하시면 됩니다.



 앱을 여러 개 실행하고 태스크 버튼을 눌러주면 다음과 같은 화면을 볼 수 있습니다.  x 버튼 왼쪽에 네모 버튼이 하나 추가되었습니다.

 이 아이콘을 눌러주면 Freeform Window mode가 동작하게 됩니다.




 이미 Freeform 윈도우가 실행되어 있는 상태에서 추가로 태스크를 눌렀을 경우 다음과 같이 정렬이 됩니다.




 최종적으로 다음과 같은 화면을 볼 수 있습니다.

 여러 개의 창이 떠있고 이동도 자유롭습니다.

 Android N에서 지원하게 될 새로운 API도 있습니다. 그래서 화면 간 복사 붙여넣기 기능과 유사한 기능을 개발할 수 있게 됩니다.

 



마무리

 안드로이드의 Freeform mode 활성화 방법을 간단하게 살펴보았습니다.

 실제로 Freeform mode가 적용된 제품이 나올지는 알 수 없지만 이런 기능이 제공될 것은 틀림없어 보입니다.(새로운 레퍼런스 기기의 출현..?)

 이렇게 되면 안드로이드의 범주는 또 한 번 변경 될 수 있겠습니다.



댓글