본문 바로가기

카테고리 없음

안드로이드에서 ADB 명령어로 카메라 셔터음 끄기

728x90

스마트폰 카메라로 사진을 찍을 때 생각보다 큰 셔터음 소리에 주목을 받아 당황스러웠던 경험이 한 번쯤 있을 것이다.

이전의 DSLR의 경우에는 셔터가 열리고 닫히는 물리적인 메커니즘으로 소리가 나는 게 당연하고, 그 찰칵하는 아날로그 감성의 소리가 상당히 메력적이기도 했다. 하지만 놀랍게도 이 찰칵 소리는 지금의 스마트폰에까지 디지털화된 소리로 우리를 따라다니고 있다. 프라이버시 보호와 불법 촬영 방지를 위해 한국이나 일본과 같은 국가에서 셔터음을 강제로 활성화시켜놓고 있다. 이러한 소리가 불편하여 스마트폰을 직구해 사용하는 분들도 있을 정도이다. 신기한 건 국내 출시된 스마트폰의 경우라도 해외여행을 가서 현지 유심이나 e 심을 활성화 하면 카메라 셔터음이 제거된다는 것이다. 최근 이탈리아 여행을 다녀온 뒤 한국에서는 카메라 셔터음이 당황스러울 정도로 크게 들려 제거해보고자 했다. 분명 이와 관련된 플래그 값이 있을 것 같단 말이지..!

 

방법은 어렵지 않았다. ADB 명령어 하나로 셔터음을 끄고 킬 수 있었다. 

 

카메라 셔터음을 끄는 건 불법일까?

가장 걱정스러운 부분은 이거일 거다.

 

"이거 불법 아니야?"

 

결론부터 말하자면, 한국에서는 카메라 셔터음을 끄는 것이 불법이 아니다. 일본에서는 셔터음을 반드시 켜야 하는 걸로 알고 있지만, 한국에서는 이와 관련된 법적인 규제가 없다.

 

그렇다면 왜 한국에서는 셔터소리가 강제화 된걸까?

2004년 한국정보통신기술협회에서 촬영음 표준안을 제시한 것이 있는데, 스마트폰에서 카메라 셔터소리가 나야 한다고 명시한 것이다. 스마트폰 제조사들이 표준안을 반영하면서 우리는 셔터소리가 아주 크게 나는 카메라를 쓰게 된 것이다.

 

이런 거 말고 다른걸 좀 잘 지켜달란 말이지.. 요즘 EU 맘에 들어!

 

물론 이는 법적 강제성이 없으며, 결론적으로 끄고 싶으면 맘대로 꺼도 된다는 말이다!

 

ADB(Android Debug Bridge)란?

본격적으로 ADB 명령어를 입력하기 전에, 우선 ADB가 무엇인지 정리하고 가자.

ADB(Android Debug Bridge)는 안드로이드 기기와 컴퓨터를 연결하여 다양한 명령어를 실행할 수 있도록 도와주는 개발 도구이다. 앱 개발이나 디버깅은 물론, 기기의 설정을 변경하는 데에도 유용하게 사용할 수 있다.

 

이제 ADB를 이용해 셔터음을 끄는 과정을 차근차근 알아보겠다.

안드로이드 개발 경험이 있다면 PC가 편하겠지만, 개발환경이 낯선 경우 간단히 스마트폰만으로 설정을 변경하는 게 더 쉬울 수 있어서 2가지 방법 모두 소개해보겠다.

 


1. PC를 사용하여 ADB 명령어로 셔터음 끄기

 

1. ADB 환경 구성

먼저, 컴퓨터에 ADB 툴이 설치되어 있어야 한다.

 

공식 링크에서 운영체제에 맞는 SDK Platform Tools를 다운로드하고, 다운로드한 파일을 압축 해제한 후, 터미널에서 해당 경로로 이동한다. platform-tools 폴더로 이동하면 된다.

 

SDK 플랫폼 도구 출시 노트  |  Android Studio  |  Android Developers

Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.

developer.android.com

 

2. 스마트폰과 컴퓨터 연결, USB 디버깅

이제 ADB가 준비되었으니 컴퓨터와 스마트폰을 usb 케이블로 연결한다.

디버깅을 위해서 스마트폰에서 개발자 모드를 활성화한 후 USB 디버깅을 활성화해야 한다.

 

설정 > 휴대전화 정보 > 소프트웨어 정보로 이동하여 '빌드 번호'를 7번 누르면 개발자 옵션을 활성화할 수 있다.

개발자 옵션을 활성화했다면 해당 메뉴 안에서 USB 디버깅을 활성화할 수 있다.

 

연결이 모두 완료되었으면 터미널(Windows에서는 명령 프롬프트)에서 다음 명령어를 입력하여 기기가 제대로 연결되었는지 확인해 보자.

 

adb devices

 

 

 

 

기기 목록에 연결된 스마트폰이 표시되면 성공이다.

 

 

정상적으로 연결된 모습

 

 

3. 셔터음 끄는 ADB 명령어 실행

모든 세팅이 끝났다면 이제 간단하다. 아래 명령어 하나만 치면 된다! (물론 코드는 복붙~)

 

adb shell settings put system csc_pref_camera_forced_shuttersound_key 0

 

 

 

[ 명령어 설명 ]

  • adb shell: 안드로이드 기기의 셸(Shell)에 접속하는 명령어
  • settings put system: 시스템 설정을 변경하는 명령어
  • csc_pref_camera_forced_shuttersound_key: 셔터음 설정을 담당하는 시스템 키
  • 0: 셔터음을 끄는 값. 만약 다시 켜고 싶다면 이 값을 1로 변경하면 된다.

 


 

2. 스마트폰만으로 셔터음 끄기

PC가 없어도 스마트폰만으로도 셔터음을 끌 수 있는 방법이 있다.

와이파이 환경 내에서 무선 디버깅을 활용하면 되는데 이를 위해 ADB shell이라는 어플을 사용해 보겠다.

 

 

1. ADB shell 애플리케이션 설치

구글 플레이스토어에서 ADB shell을 다운로드한다.

 

ADB shell

 

2. '보안 위험 자동 차단' 잠시 끄기

 

갤럭시에서 '보안 위험 자동 차단'이 켜져 있다면 무선 디버깅이 허용되지 않는다. 이를 위해 잠시 끄고 진행하면 된다.

 

'보안 위험 자동 차단'이 켜져있으면 제한되는 모습

 

 

보안 위험 자동 차단 설정/해제 방법
설정 > 보안 및 개인정보 보호 > 보안 위험 자동 차단

 

'보안 위험 자동 차단' 끄기

3. 무선 디버깅 활성화

개발자 옵션에서 무선 디버깅 항목을 찾아 활성화한다.

스마트폰 설정에 개발자 옵션 메뉴가 없는 경우는 마찬가지로 개발자 옵션을 활성화하면 된다.

 

'개발자 옵션' 메뉴가 있는지 확인

 

개발자 옵션 활성화 하는 방법
설정 > 휴대전화 정보 > 소프트웨어 정보로 이동하여 '빌드 번호'를 7번 누르기

 

 

무선 디버깅을 활성화했다면, '페어링 코드로 기기 페어링'을 눌러 ADB shell에서 페어링을 하면 된다.

한 가지 불편한 점은 설정 페이지를 벗어날 경우 기기 페어링 코드가 바뀐다.

갤럭시의 화면 분할 기능을 사용하면 이를 해결할 수 있다. 왼쪽 멀티태스킹 버튼을 눌러서 앱을 길게 누르면 화면 분할을 할 수 있다.

 

분할 모드로 페어링

 

보안상 가렸지만, IP 주소 및 포트가 192.168.0.1:12345 라면  IP address는 192.168.0.1이고 Port는 12345이다.

 

 

3. 셔터음 끄는 ADB 명령어 실행

 

연결에 성공하면 터미널 창이 나오게 된다.

 

명령어는 PC에서 하는 것과 물론 동일하다.

아래 명령어를 입력하면 역시나 성공!

셔터음을 다시 활성화하고 싶다면 끝의 0을 1로 바꾸면 된다. 

adb shell settings put system csc_pref_camera_forced_shuttersound_key 0

 

 

 

[ 명령어 설명 ]

  • adb shell: 안드로이드 기기의 셸(Shell)에 접속하는 명령어
  • settings put system: 시스템 설정을 변경하는 명령어
  • csc_pref_camera_forced_shuttersound_key: 셔터음 설정을 담당하는 시스템 키
  • 0: 셔터음을 끄는 값. 만약 다시 켜고 싶다면 이 값을 1로 변경하면 된다.

 


 


이렇게 하면 해외 사용과 동일하게 셔터음이 꺼지게 된다 :)

정확히는 진동과 무음 모드에서는 셔터음이 꺼지고, 소리 모드에서는 기존보다 훨씬 작은 소리로 셔터음이 나온다.

 

한 가지 번거로운 점은 안드로이드 업데이트를 하면 이 설정이 풀린다..

업데이트 이후에는 위의 방법으로 다시 셔터음을 비활성화하면 된다.

 

혹시 또 다른 방법이나 재밌는 방법이 있다면 댓글로 남겨주세요~