티스토리 뷰

갤럭시 S7 개발자 모드 알아보기 (Galaxy S7 Developer Mode Options)

이번 포스팅은 개발자 옵션을 적용하여 보고 어떠한 기능을 추가하고 적용할 수 있는지 그리고 개발자 모드로 접근하는 방법에 대하여 알아보도록 하겠습니다. 모든 안드로이드 휴대폰에는 이러한 숨겨진 개발자 옵션이 포함이 되어 있는데 소프트웨어 테스트를 위하거나 어플리케이션의 최적화 등을 하기 위한 목적입니다. 또한 단말기 내에 존재하는 오류나 버그를 수정하고 리포트를 볼 수 있으며 CPU 같은 하드웨어 상태를 화면에서 확인이 가능하여 사용자로 하여금 단말기 이상 여부를 판단할 수 있습니다.

개발자 옵션 활성 방법 (개발자 모드 껴기)

안드로이드 단말기마다 조금씩 차이가 있을 수 있지만 갤럭시 S7 기준(Nougat OS)으로 설명드리자면, 설정 - 디바이스 정보 - 소프트웨어 정보 - 빌드 번호를 확인하는데 이 빌드 번호 항목에 연속으로 터치를 실행하게 되면 개발자 옵션으로 접근하게 되는 단계를 표시하여 주는데 4~5번 정도 터치하면 됩니다. 화면 하단에 개발자 모드가 활성화기 위한 단계 과정을 문구로 나타내 주며 이 기능이 활성화가 되면 설정 메뉴 제일 하단에 개발자 옵션이 새로 생성된 것을 볼 수 있습니다. 진입 후 사용 중 상태로 변경하고 설정 변경 시 디바이스 및 앱에서 오류가 발생할 수 있다라는 경고 메세지를 보여주는데 확인을 클릭합니다. 

개발자 옵션 비활성 방법 (개발자 모드 끄기)

한번 이 개발자 옵션을 실행하게 되면 따로 이 기능을 비활성화 하는 버튼이나 방법은 없습니다. 그래서 이렇게 변경하였던 단말기 내의 설정을 다시 원래대로 복구 유사한 방법으로 되돌리는 방법으로 작업을 해야 되는데 비활성화 하는 방법은 설정 - 애플리케이션 정보로 - 저장공간으로 진입하고 화면에 보이는 데이터 삭제 버튼을 누릅니다. 실행하기 전, 디바이스 내의 설정에 관련된 모든 데이터가 지워지게 되는데 삭제를 클릭하여 초기화 작업을 합니다. 다시 설정 메뉴로 들어가서 확인 시 사라진 것을 볼 수 있습니다.



개발자 옵션에 들어가면 크게 버그 보고서 작성, 데스크톱 백업 비밀번호 등의 기본 항목, 디버깅, 네트워크, 입력, 그리기, 하드웨어 가속 렌더링, 미디어, 모니터링, 어플리케이션으로 구성되어 있는 것을 볼 수 있습니다. 아래에서 이 카테고리별로 간단히 내용 설명을 하도록 하겠습니다.

기본 항목

우선 버그 보고서 작성을 누르게 되면 대화형과 전체 리포트 보고서를 선택할 수 있고 현재 단말기에 로그 파일들을 잡게 되고 이 파일들을 어디로든 보내기 위해 준비하는 과정을 거칩니다. 시간이 다소 소요가 되는데 최대 2~3분 정도 소요가 됩니다.

데스크톱 백업 비밀번호를 들어가게 되면 자신만의 백업 비밀번호를 설정하게 되는데 안드로이드 디버그 브릿지인 ADB을 이용해 어플리케이션이나 기타 데이터를 백업, 복구할 수 있습니다. 이 작업을 할 때마다 비밀번호를 요구하므로 분실하지 않도록 하는 것이 중요합니다. ADB는 인터넷 검색을 통해 여러 가지 명령어들이 나와 있으니 참고하시기 바랍니다.

충전하는 동안에 화면을 지속적으로 켜진 상태로 유지하려면 이 항목을 키면 되는데 아무래도 화면을 지속적으로 출력해야 하기에 배터리 소모가 더 빠를 수 있습니다.

블루투스 HCI (Host Controller Interface) 패킷을 분석하고 여기에 있는 로그 기록을 저장소에 파일로 보관하여 다른 분석 프로그램으로 개발자가 참고하는데 쓰입니다. 이 파일은 보통 이름 그대로 btsnoop_hci.log 라는 이름으로 저장이 됩니다.

OEM(Original Equipment Manufacturer) 잠금해제의 목적은 기본적으로 부트로더를 우회하거나 다른 커스텀 이미지의 보임을 제한하기 위함입니다. 예를 들자면 자신의 단말기를 분실하고 누군가가 이 기기를 사용한다고 가정합니다. 그러나 이 단말기에는 잠금이 설정되어 있음에도 불구하고 휴대폰 내의 커스텀 파일 같은 정보를 유출하려고 해도 이 기능이 잠겨 있으면 빼낼 수가 없습니다.

실행 중인 서비스로 들어가게 되면 애플리케이션의 RAM 사용량과 프로세스 현황에 대해 확인 가능합니다. 현재 구동되고 있는 각 앱들의 구동 경과 시간, 사이즈 크기 등을 수치로 알 수 있습니다. 또한 WebView 제공자를 선택할 수 있는데 보통 크롬 Stable로 설정되어 있습니다. 시스템 자동 업데이트 기능을 활성화할 수 있는 항목과 데모 모드를 그 다음으로 확인이 가능합니다.

디버깅

USB 디버깅은 안드로이드 단말기를 다른 PC와의 USB 포트 연결을 통하여 ADB 모드 (Android Debug Bridge)를 실행할 수 있는데 ADB 명령어를 입력하기 위해서는 이 기능이 활성화가 되어 있어야 합니다. 그리고 최초 연결 시 PC하드웨어 인식을 하기 위해서 단말기와 PC간에 연결을 하기 위해서 권한을 주어야 하고 설치를 하게 되는데 이런 작업을 처음 상태로 되돌리기 위해 USB 디버깅 권한 승인 취소를 통해 할 수 있습니다. 전원 버튼 메뉴에 버그 신고 포함이 활성화하게 되면 말그대로 전원 버튼을 오래 눌렀을 때 전원 끄기, 다시 시작, 긴급 모드 화면의 제일 하단에 버그 보고서 작성이 나오는 것을 볼 수 있는데 이 리포트를 기본 항목의 버그 리포트 작성에서 수집 및 전송이 가능합니다. 다음으로 수동으로 위치 정보를 쓰게 하는 모의 위치 앱속성 검사 보기를 확인할 수 있습니다.

오류를 작업 및 수정할 디버깅할 앱을 선택하는데 이 기능을 실행하게 되면 아래의 디버거 연결 대기가 활성화되고 실행됨으로부터 디버깅할 선택된 어플리케이션을 보호하는데 목적이 있습니다. 유해 작동 검사를 위한 USB 애플리케이션 인증은 ADB나 ADT를 통해 설치된 소프트웨어를 스캔하여 확인합니다. 기록 저장 버퍼 크기는 64K부터 최대 16M까지 선택이 가능하고 디버깅을 위한 로그 버퍼 당 버퍼 사이즈를 늘리거나 조절할 수 있고 버퍼 사이즈 설정에 대한 정보는 인터넷에서 쉽게 접하실 수 있습니다.

네트워크

무선 디스플레이 인증서 옵션을 표시할 수 있는 항목과 단말기 내 무선 네트워크 정보를 저장할 수 있는 상세 로깅, 단말기 네트워크 신호가 약하게 되면 통화가 지속적으로 유지될 수 있도록 기지국에서 끊임없이 서비스가 가능하게 할 수 있도록 해주는 핸드오버 항목, 로밍 스캔 허용, 무선 네트워크 사용 중에도 항상 데이터 기능을 유지시켜주는 모바일 데이터 실행 유지 항목이 있습니다.

그 아래는 USB 구성이 나오는데 충전을 집중시켜 주는 충전 모드, 미디어 전송 모드인 MTP, 사진 전송인 PTP, USB 이더넷 네트워크의 RNDIS (Remote Network Driver Interface Specification) 모드, 오디오 소스, MIDI 항목 중에 선택하면 되고 사운드 컨트롤 제어가 되지 않는 볼륨 문제가 있을 시 절대 볼륨 사용 안함으로 설정이 가능합니다.

입력

터치 표시 항목은 화면 안에 어느 영역에 터치를 하는 순간 동그라미로 좌표를 나타내듯이 표시가 됩니다. 더 상세한 값을 알기 위해서는 아래의 포인터 위치 표시를 활성화시키게 되면 화면 상단에 x, y축의 좌표 값과 사이즈 범위를 수치적으로 확인할 수 있습니다.

그리기

화면 업데이트 표시가 활성화되면 스크린에 윈도우 플래쉬 영역이 표시가 되고 내부 UI의 모든 영역들에 가장자리 부분에 테두리 표시를 하여 터치가 정확히 어느 영역에 입력이 되는지 확인할 수 있는 레이아웃 범위 표시RTL 레이아웃은 화면을 강제로 좌우 반전하여 보여줍니다. 윈도우 애니메이션 재생 속도를 조절하기 위해서는 창 애니메이션 배율값을 변경하면 되는데 수치가 낮을수록 속도가 더 빠릅니다. 마찬가지로 전환 효과 배율 및 애니메이터 길이 배율값을 수정 가능하고 보조 화면 시뮬레이션은 개발자로 하여금 다른 화면 크기를 제공하는데 적게는 480p, 1080p 등을 선택할 수 있습니다. 마지막으로 최소 너비값을 수동으로 변경이 가능합니다.

하드웨어 가속 렌더링

하드웨어에 대한 설정 변경은 되도록이면 수정을 하지 않는 것을 권유드립니다. 어플리케이션에 대한 2D 가속 기능을 실현하기 위한 GPU 렌더링 강제 실행, Graphic Processing Unit 기능이 사용될 때마다 윈도우 내부를 빨간 오버레이를 가지면서 화면에 표시되는 GPU 보기 업데이트 표시, 하드웨어 층에 대한 모든 업데이트가 그래픽 프레임 지속시간 동안의 녹색으로 표시되는 하드웨어 레이어 업데이트 표시GPU 오버드로 디버깅을 사용함으로써 시스템에서 문제가 발생하는 부분에 대해 오버드로가 일어날 때 draw 표시가 되는데 오버드로 영역과 녹색약 영역 표시로 나뉘게 됩니다. 클립 영역을 푸른색으로 표시, 그림 그리기 명령을 녹색으로 변경하는 사각형이 아닌 클립 표시4x MSAA(Multi-Sample Anti-Aliasing) 실행을 함으로써 비주얼적으로 더 나은 그래픽 효과를 얻을 수 있습니다. 하드웨어 오버레이 사용 안함 설정도 가능하고 색상 조정 시뮬레이션을 통해 화면을 전체적으로 흑백색의 단색, 녹색과 적색 계열의 적록색, 청황색 계열의 컬러로 수정 변경 가능합니다.

미디어

다른 장치로부터 오디오가 루팅되는 것을 차단 설정할 수 있는 USB 오디오 루팅 차단 기능이 있습니다.

모니터링

어플리케이션이 강하고 긴 동작을 요구하기 위해 메인 쓰레드를 사용할 때 화면을 플래쉬해주는 엄격 모드, 화면 우측 상단에 CPU가 얼마나 사용되고 있는지 수치와 그래픽바로 나타내주는 CPU 사용량 표시, 화면에 색깔별로 그래픽바를 통해 표시해주거나 ADB를 이용해 파일로 쓰는 프로필 GPU 렌더링으로 구성되어 있습니다.

어플리케이션

메인 화면에서 나갈 때 어플리케이션을 강제 종료 및 삭제하는 활동 보관 안 함 기능얼마나 많은 프로세스가 백그라운드에서 한번에 실행될 수 있는지 설정하는 백그라운드 프로세스 제한, 모든 프로세스마다 앱이 응답하지 않는다라는 메세지를 표시해주는 ANR(Application Not Responding) 모두 표시 기능, 단말기에 설치되어 있는 모든 앱마다 활성 및 비활성 설정을 하는 사용하지 않는 앱 설정, 모든 앱이 외부에서 쓰기가 되도록 하는 외부에서 앱 강제 허용, 어떤 액션을 할 때 멀티 윈도우용 크기로 조정이 가능한 활동의 크기가 조정 가능하도록 설정할 수 있습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함