본문 바로가기

IT/Tizen

[Tizen] 타이젠 Z1에 개발자모드 메뉴가 숨겨져 있는 까닭은?

Tizen SDK로 개발한 앱을 Tizen Z1에 옮기려면,

Z1의 개발자 USB 디버깅 모드를 활성화해야 합니다.


디버깅 모드가 활성화되어야 비로소

SDK에서 Z1을 인식하여 Z1에 대한 정보를 자동으로 읽습니다.

디버깅 모드가 활성화되어 있지 않다면,

당연히, SDK에서 Z1을 인식조차 하지 못합니다.


따라서 원활한 개발을 위해서는,

USB 디버깅 모드를 활성화해야 합니다.


하지만, 어디에서도 USB 디버깅 모드에 대한 메뉴를 찾을 수가 없습니다.


안녕하세요, Tizen 개발자 윤진입니다.


디버깅 모드를 찾기 위해 설정앱을 두어번 꼼꼼하게 뒤져보았습니다.

하위메뉴에 숨겨져 있나...?

하나하나 메뉴를 다시 열어보았습니다.

하지만, 디버깅 모드를 찾아볼 수 없었습니다.


원래 타이젠 플랫폼은 USB 디버깅 모드가 없는 것일까요?

Tizen 오픈소스를 뒤져보았습니다.

설정앱에 USB 디버깅 메뉴에 대한 흔적이 남아있었습니다.


- settings/setting-connectivity/src/setting-connectivity-usb.c

    ad->debug_mode =
setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
setting_connectivity_usb_mouse_up_Gendial_list_cb,
ad, SWALLOW_Type_1ICON_1RADIO, NULL,
NULL, toggle_dbg, "IDS_ST_BODY_USB_DEBUGGING",
NULL, setting_connectivity_main_chk_usb_debug_cb);


위의 코드는 USB Debugging 여부를 설정할 수 있는 리스트 아이템을 만드는 부분입니다.

위의 코드는 결국 "setting-developeroption-efl"라는 이름의 Library가 됩니다.

라이브러리로 만들어진다는 것은 다른 앱 혹은 데몬에서 사용한다는 것을 의미합니다.


그렇다면 누가 위의 라이브러리를 사용할까요?

그것이 앱이라면 해당 앱을 런칭시켜 진입경로를 찾을 수 있을 것입니다.


가장 확률이 높은 것은 위의 라이브러리를 공급하는 설정앱입니다.

설정앱 내에서 라이브러리를 만들고 다시 재사용할 수 있습니다.

굳이 라이브러리로 만든 이유는,

설정앱 뿐만 아니라 다른 앱에서도 호출할 수 있기 때문입니다.


하지만 현재 오픈된 코드에서는 호출해주는 쪽이 감춰져있습니다(혹은 나타나지 않습니다).

Z1이 오픈소스를 그대로 썼을리는 없으므로,

오픈소스와는 다르게 위의 메뉴를 활성화시키는 주체가 있겠죠?


이렇게 메뉴를 만들어 놓고 감춰놨다는 것은,

개발자 모드를 감춰야할 정책적인 고려가 있었기 때문으로 추정됩니다.

그러한 고려에서 어떤 의지가 느껴지네요.


이 포스팅을 쓰려고 마음 먹은 2주 전부터 진지하게 고민을 하였습니다.

숨은 의도가 무엇일까요?

하지만, 2주가 지나 포스팅을 쓰는 이 시점에도 "모르겠습니다".

(혹시 아시는 분이 있으시면, 댓글 부탁드립니다.)


그래서 도대체 Developer option은 어떻게 활성화시킬 수 있을까요?

해답은 간단한 곳에 있습니다.

전화앱에 다이얼러에서 특정 번호를 입력하면,

Developer option을 활성화시킬 수 있는 메뉴가 나옵니다.


다이얼러에 있는 영문을 보고 "*#TIZEN#"을 누르세요.

위의 TIZEN은 숫자로 "84936"입니다.

의미없는 숫자가 아닙니다. :)



위의 숫자를 치면,

Developer option을 활성화할 수 있는 on <-> off 토글 버튼이 나옵니다.

0은 off, 1은 on입니다.

현재의 화면은 off 상태이죠.

토글을 한 번 하여 on으로 만드세요.


그리고 설정앱에 다시 가보세요.

하지만 안타깝게 설정앱에 아무런 변화가 없습니다.


왜냐하면, Developer option을 활성화한다고 바로 설정앱이 메뉴를 생성하지 않기 때문입니다.

설정앱은 동적인 메뉴재편성에 대한 필요가 없기 때문에,

developer option 활성화/비활성화에 따라 메뉴재편성을 하지 않습니다.


홈키 롱프레스를 눌러 설정앱을 종료하거나 재부팅을 합니다.

그리고 새로운 프로세스로 설정앱을 띄웁니다.



그러면 위와 같이 "개발자 옵션" 메뉴가 추가되어 있는 것을 볼 수 있습니다.

개발자 옵션 메뉴를 눌러 하위 메뉴에 진입합니다.



다양한 메뉴가 나타나지만,

우리가 관심있는 부분은 USB 디버깅입니다.

USB 디버깅의 토글버튼을 눌러 '1'로 활성화시키세요.


이 상태에서 SDK에 연결하면,

SDK는 드디어 Z1을 인식합니다.


일단 인식은 시켰고,

SDK에서 개발한 앱을 Z1으로 옮기기 위해서는 추가적인 절차가 필요합니다.


그 부분은 주말 중에 공유하도록 하겠습니다.


끝_