반응형

테스트 기종: 갤럭시 노트8 (SM-N950N)
Android OS: 오레오 (Oreo, 8.0.0)
테스트 스피커: MI Bluetooth Speaker


언젠가부터 스마트폰에서 블루투스 장비와 연결하면 볼륨이 내가 생각하는 것과 다르게 너무 극단적으로 출력되기 시작했다. 예를 들면, 스마트폰에서 볼륨을 제일 작은 단계로 딱 한 칸만 올렸는데, 실제로 출력되는 소리는 가장 작은 단계가 무색하게 아주 크게 출력되었다. 개인적으로는 샤오미의 블루투스 스피커 또는 현대자동차의 순정 네비와 블루투스로 연결할 때 이런 현상이 나타났다.

특히 샤오미 블루투스 스피커의 경우에는 전원버튼 외에는 독립된 볼륨 조절 버튼이 없다. MI Bluetooth Speaker를 연결한 뒤에 음악을 켜고 스마트폰에서 단지 볼륨을 딱 한 칸만 (제일 낮은 단계) 올렸을 뿐인데, 거의 최대 출력과 다름없는 크기로 소리가 갑자기 쩌렁쩌렁 울려 퍼져서 매우 당황했다.


확인해 보니 이건 블루투스 장비와의 볼륨 동기화 설정 때문에 나타나는 문제로 확인되었다.
비단 안드로이드뿐만 아니라 윈도우 운영체제에서도 설정에 따라 똑같은 현상이 일어날 수 있다.

안드로이드 운영체제 기반인 삼성 갤럭시 노트8에서는 아래와 같이 설정을 해제할 수 있다.


1. 설정 > 연결 > 블루투스에 들어가서, 오른쪽 상단의 메뉴 (점 세개)를 누른다.
메뉴 중에서 "미디어 음량 동기화"를 선택한다.


2. 미디어 음량 동기화 설정 화면에서 토글 버튼을 눌러서 "사용 안 함"으로 설정한다.


이렇게 미디어 음량 동기화를 해제한 뒤에 스마트폰의 볼륨 버튼을 사용하여 미디어 음량을 조절하면 작은 음량부터 설정할 수 있다.

반대로 스마트폰에서 미디어 음량을 충분히 키웠는데도 블루투스 장비에서 들리는 소리가 너무 작아서 문제가 될 때에는 위의 방법대로 설정에 들어가서 미디어 음량 동기화를 다시 켜면 된다.


참고로 삼성 갤럭시 스마트폰에서 볼륨 버튼 한 번으로 조절할 수 있는 볼륨의 크기를 더 미세하게 조정하고 싶으면 별도의 앱을 설치해야 한다. 구글 플레이 스토어 또는 갤럭시 앱스에서 "Sound Assistant" 앱을 설치하면 된다. 앱을 설치한 뒤에 고급 설정에서 음량 간격을 10보다 작게 할 수 있다.




반응형
블로그 이미지

Bryan_

,
반응형

*모델: 갤럭시 노트8 (Samsung Galaxy Note 8)

*통신사: LGU+

*안드로이드 버전: 8.0.0 (오레오)

*Samsung Experience 버전: 9.0


갤럭시 노트8을 사용하면서 대부분의 기능과 성능에 전혀 문제가 없는데, 언제부턴가 유일하게 어플 서랍(앱 서랍)에서 홈 화면으로 나갈 때만 프레임이 뚝 끊기면서 렉이 걸린 채 화면이 전환되었다. 그러니까, 삼성 익스피리언스(Samsung Experience) 홈 화면에서 위/아래로 스와이프해서 앱 서랍 화면에 들어왔다가, 여기서 다시 위/아래로 스와이프해서 홈 화면으로 돌아가면 뚝뚝 끊긴다.


처음에는 백그라운드 실행 중인 앱들 중에서 덩치가 좀 크다고 생각되는 앱들을 삭제해 보았고, 위젯을 하나씩 없애 보기도 했고, 재부팅도 여러 번 해 보았지만 전혀 문제가 개선되지 않았다. 스마트폰을 사용하면서 다른 부분에서 느려지는 경우가 없었기에 일상 사용에는 지장이 없었지만, 진짜 유일하게 앱 서랍과 홈 화면 사이에 전환할 때에만 애니메이션 효과가 끊어지는 것처럼 나타나서 상당히 거슬렸다.


의심되는 원인을 한 가지 찾았는데, 갤럭시 노트8의 테마를 전체적으로 바꿨다가 (잠금화면, 홈화면, AOD, 아이콘 한꺼번에 모두) 다시 원래대로 돌아오고 나서부터 이런 현상이 발생하는 듯 했다.


문제는 의외로 간단하게 해결되었는데, 그 대신 작은 대가를 치러야 했다.
Samsung Experience 앱의 데이터를 날려서 초기화시키면 되는데,
이것은 결국 런처를 초기화하는 것이므로, 홈 화면이 초기화되는 것과 같다.
즉, 내가 설정해 둔 아이콘 배치와
위젯이 모두 사라진다.


<해결 방법>

*주의사항:
아래 작업을 수행하면 개인이 설정해 둔 홈 화면이 삭제되고 공장초기화 직후의 화면으로 초기화된다.
홈 화면 구성을
기억해야 하는 경우, 스크린샷으로 미리 백업해 둘 필요가 있다.
홈 화면 관련 설정이나 구성을 삼성 클라우드에 백업할 수도 있겠지만, Samsung Experience와 관련된 버벅임이 확실하다면 클라우드에 백업해 둔 설정을 가져오면서 버벅임 증상까지 복구되는(...) 일이 생길 수도 있으므로 주의를 요한다.


1. 설정 > 애플리케이션 에 들어간다.

2. 모든 애플리케이션이 표시되도록 하고, "Samsung Experience 홈" 앱을 선택한다.

3. 저장공간을 누르고 표시되는 화면에서, "데이터 삭제""캐시 삭제"를 각각 눌러 수행한다.



이렇게 하고 나면 홈 화면이 노트8을 공장초기화 했을 때와 같은 모양으로 바뀌어 있을 것이다.
평소에 쓰던 앱들은 하나도 삭제되는 일이 없으므로, 홈 화면만 새로 구성해 주면 된다. 단지 귀찮을 뿐... ㅜㅜ
이 상태에서 앱 서랍에 진입했다가 홈 화면으로 나와 보면 렉이 말끔히 사라져 있음을 확인할 수 있다.




반응형
블로그 이미지

Bryan_

,
반응형

테스트 대상 기기: 삼성 갤럭시 노트3 네오, LGU+ (SM-N750L)

Android 버전: 4.4.2


스마트폰을 통한 네트워크 실험을 하는 과정에서, 여러 차례 와이파이에 연결된 스마트폰에 ping을 날려야 하는 경우가 있었다. 화면이 꺼져 있더라도 옵션을 통해서 와이파이에 항상 연결되어 있게 할 수는 있는데, 유독 화면이 꺼져 있을 때에 ping 속도가 느린 것 같다는 느낌이 들어서 실제로 테스트를 해 보았다.

샘플 수가 20개라서 사실 많지는 않지만, 그래도 동일한 환경에서 주변에 다른 방해하는 기기가 거의 없는 새벽 시간대에 해 본 것이라서 어느 정도 의미는 있을 것으로 생각한다.


테스트 환경으로, 라즈베리파이 2B에 hostapd를 돌려서 가상 AP로 만들고, 스마트폰이 그 AP에 연결되도록 했다.

라즈베리파이는 Raspbian Jessie 운영체제에 Atheros ath9k-htc 기반의 USB 무선랜카드를 달고 있고, IEEE 802.11n 모드로 AP를 돌렸다.

테스트용 스마트폰 외에 무선으로 연결된 다른 연결된 기기는 없었다.


아래는 화면이 꺼져 있을 때, 의 ping 결과이다.

pi@raspberrypi ~/exp $ ping 10.0.5.10

PING 10.0.5.10 (10.0.5.10) 56(84) bytes of data.

64 bytes from 10.0.5.10: icmp_seq=1 ttl=64 time=289 ms

64 bytes from 10.0.5.10: icmp_seq=2 ttl=64 time=113 ms

64 bytes from 10.0.5.10: icmp_seq=3 ttl=64 time=344 ms

64 bytes from 10.0.5.10: icmp_seq=4 ttl=64 time=157 ms

64 bytes from 10.0.5.10: icmp_seq=5 ttl=64 time=204 ms

64 bytes from 10.0.5.10: icmp_seq=6 ttl=64 time=164 ms

64 bytes from 10.0.5.10: icmp_seq=7 ttl=64 time=188 ms

64 bytes from 10.0.5.10: icmp_seq=8 ttl=64 time=9.65 ms

64 bytes from 10.0.5.10: icmp_seq=9 ttl=64 time=237 ms

64 bytes from 10.0.5.10: icmp_seq=10 ttl=64 time=276 ms

64 bytes from 10.0.5.10: icmp_seq=11 ttl=64 time=80.7 ms

64 bytes from 10.0.5.10: icmp_seq=12 ttl=64 time=105 ms

64 bytes from 10.0.5.10: icmp_seq=13 ttl=64 time=126 ms

64 bytes from 10.0.5.10: icmp_seq=14 ttl=64 time=205 ms

64 bytes from 10.0.5.10: icmp_seq=15 ttl=64 time=220 ms

64 bytes from 10.0.5.10: icmp_seq=16 ttl=64 time=258 ms

64 bytes from 10.0.5.10: icmp_seq=17 ttl=64 time=254 ms

64 bytes from 10.0.5.10: icmp_seq=18 ttl=64 time=290 ms

64 bytes from 10.0.5.10: icmp_seq=19 ttl=64 time=312 ms

64 bytes from 10.0.5.10: icmp_seq=20 ttl=64 time=135 ms

^C

--- 10.0.5.10 ping statistics ---

20 packets transmitted, 20 received, 0% packet loss, time 19025ms

rtt min/avg/max/mdev = 9.658/198.845/344.289/84.791 ms



아래는 스마트폰 화면을 켜고, 바탕화면을 전환하거나 카카오톡 앱을 한번 켜 보는 등 화면을 켜져 있도록 유지했을 때의 ping 결과이다. 카카오톡을 켤 때 잠시 서버에 접속하는 경우를 제외하고는 스마트폰에서 별도로 트래픽을 발생시키지 않았다.


pi@raspberrypi ~/exp $ ping 10.0.5.10

PING 10.0.5.10 (10.0.5.10) 56(84) bytes of data.

64 bytes from 10.0.5.10: icmp_seq=1 ttl=64 time=146 ms

64 bytes from 10.0.5.10: icmp_seq=2 ttl=64 time=67.5 ms

64 bytes from 10.0.5.10: icmp_seq=3 ttl=64 time=81.2 ms

64 bytes from 10.0.5.10: icmp_seq=4 ttl=64 time=133 ms

64 bytes from 10.0.5.10: icmp_seq=5 ttl=64 time=128 ms

64 bytes from 10.0.5.10: icmp_seq=6 ttl=64 time=147 ms

64 bytes from 10.0.5.10: icmp_seq=7 ttl=64 time=175 ms

64 bytes from 10.0.5.10: icmp_seq=8 ttl=64 time=98.5 ms

64 bytes from 10.0.5.10: icmp_seq=9 ttl=64 time=109 ms

64 bytes from 10.0.5.10: icmp_seq=10 ttl=64 time=9.62 ms

64 bytes from 10.0.5.10: icmp_seq=11 ttl=64 time=66.1 ms

64 bytes from 10.0.5.10: icmp_seq=12 ttl=64 time=81.9 ms

64 bytes from 10.0.5.10: icmp_seq=13 ttl=64 time=108 ms

64 bytes from 10.0.5.10: icmp_seq=14 ttl=64 time=139 ms

64 bytes from 10.0.5.10: icmp_seq=15 ttl=64 time=146 ms

64 bytes from 10.0.5.10: icmp_seq=16 ttl=64 time=75.2 ms

64 bytes from 10.0.5.10: icmp_seq=17 ttl=64 time=5.52 ms

64 bytes from 10.0.5.10: icmp_seq=18 ttl=64 time=4.06 ms

64 bytes from 10.0.5.10: icmp_seq=19 ttl=64 time=4.30 ms

64 bytes from 10.0.5.10: icmp_seq=20 ttl=64 time=188 ms

64 bytes from 10.0.5.10: icmp_seq=21 ttl=64 time=78.3 ms

^C

--- 10.0.5.10 ping statistics ---

21 packets transmitted, 21 received, 0% packet loss, time 20028ms

rtt min/avg/max/mdev = 4.062/95.085/188.859/54.672 ms



최소값, 최대값, 평균 모두 차이가 남을 알 수 있다.

평균을 기준으로 대략 2배 가량 전송시간(round trip time)의 차이가 발생했다.

참고로 같은 증상이 삼성 갤럭시 넥서스(버전 4.1.1)에서도 나타났다.


무슨 연유로 어디에서 이러한 지연이 발생하는지는 정확하게 알 수 없다. 하지만 아마도 스마트폰에서 의도적으로 지연을 발생시켰을 것으로 예상되며, 그 이유는 여러가지가 있겠지만 에너지 절약 차원의 목표가 있을 것이라고 추측만 하고 있다.

네트워크 실험을 할 때에는 (물론 화면을 끄고서 실험할 일은 거의 없겠지만) 스마트폰 화면의 꺼짐 유무도 잘 확인하는 것이 좋겠다.



반응형
블로그 이미지

Bryan_

,
반응형

OS: Windows 7 (64-bit)


윈도우7 PC와 구글 글래스를 USB로 연결하면 처음에는 카메라의 외장 메모리처럼 인식을 한다.

구글 글래스 내부 설정에서 디버깅 옵션을 켜도 드라이버 설치를 제대로 안 하면 안드로이드 기기로 인식이 안돼서 개발한 앱을 설치하려고 해도 안드로이드 스튜디오 또는 ADT에서 인식이 안 된다.



<구글 글래스 USB 드라이버 설치 방법>

(사실 다른 안드로이드 기기에도 공통적으로 해당됨)


1. 안드로이드 스튜디오 또는 ADT 개발환경이 있다면

SDK Manager에서 "Extras > Google USB Driver"가 설치되어 있는지 확인한다. 

Not installed로 나오면 체크하고 설치한다.




2. 설치하고 나면 아래 경로에 드라이버가 받아진다.

안드로이드 스튜디오의 경우: 

  [윈도우7의 사용자 폴더]\AppData\Local\Android\sdk\extras\google\usb_driver

ADT 개발환경의 경우: 

  [adt-bundle의 폴더 위치]\sdk\extras\google\usb_driver


3. "제어판 > 시스템 > 장치 관리자" 실행. 그 다음 제대로 설치되지 않아서 노란색 느낌표가 붙은 안드로이드 기기(구글 글래스는 "Glass 1")를 오른쪽 단추로 선택하고 "드라이버 업데이트" 선택.


4. 사용자가 드라이버 위치를  지정하는 옵션으로 선택하고, SDK Manager를 통해서 받은 USB 드라이버 경로를 선택하면 새로 드라이버 설치를 진행하게 된다.



장치 관리자에서 Android Composite ADB Interface로 표시되면 정상적으로 설치된 것이다.

이제 기기를 USB에 연결한 채로 안드로이드 스튜디오 또는 ADT를 실행해서 LogCat을 확인했을 때, 로그가 잘 표시되면 정상이고, 개발한 앱을 실행할 수 있다.





반응형
블로그 이미지

Bryan_

,
반응형

OS: Windows 7 (64-bit)

Java 버전: 1.8.0_45 (amd64)

Android Studio 버전: 1.2.2


기존에 쓰던 Eclipse 기반의 ADT 개발 환경은 구글에서 더이상 지원을 하지 않겠다고 해서 안드로이드 스튜디오를 설치했다. 안드로이드 스튜디오를 맨 처음 설치하고 나서 SVN을 통해서 기존의 프로젝트를 받아 오려고(checkout) 시도해 보니 잘 되지 않았다.


일단 SVN을 통해서 프로젝트를 받아오기 위해서는 메뉴에서 "File > New > Project from Version Control > Subversion"을 선택하면 되지만,




SVN 주소를 추가하고 세부 프로젝트 선택을 위해서 접근을 했더니, 아래 화면과 같이 빨간 글씨로 경고 메세지만 나왔다.




저렇게 뜨는 이유는 내 컴퓨터에 별도의 SVN 프로그램이 없기 때문이다. 즉, 안드로이드 스튜디오는 SVN 인터페이스는 제공하지만 SVN 기능을 수행하는 프로그램(플러그인)은 기본적으로 내장하고 있지 않다. 이것은 버전 컨트롤 목록에 있는 Git 등의 다른 도구도 마찬가지인 듯 하다.


반면에 컴퓨터에 SVN이 이미 설치되어 있다면 아무 에러 없이 checkout까지 가능할 것이다. 가령 Tortoise SVN을 설치해 두었고, 커맨드 라인(cmd)에서 svn 명령어가 인식이 된다면 문제없이 진행된다.



이에 따라 내 컴퓨터에는 별도로 SVN을 설치해야 한다.윈도우에서는 Tortoise SVN이 유명하지만, 윈도우가 시작할 때 항상 실행되고, 마우스 오른쪽 단추를 누르면 나오는 메뉴에도 항상 표시되기 때문에 비설치 방식을 선호하는 사람들도 있다.


비설치 방식 중에서는 Apache Subversion command line tools를 쓸 수 있으며, 아래 링크에서 받을 수 있다.

https://www.visualsvn.com/downloads/

"Apache Subversion command line tools"를 다운로드 받고, 적당한 위치에 압축을 풀어 둔다.


그리고 "File > Settings" 메뉴를 선택해서 대화상자를 열고, Version Control > Subversion을 선택한다.




오른편에 "Use command line clinet: " 옆에 그냥 svn이라고만 적혀 있는데, 그 부분을 방금 압축을 풀었던 위치에 있는 bin/svn.exe 파일의 경로로 바꿔 준다. 오른쪽 끝의 [ ... ] 버튼을 눌러서 선택할 수 있다.




경로가 올바로 설정되고 나면 Apply, OK를 눌러서 설정을 저장하고 나서 다시 SVN 접근을 시도해 보면 잘 되는 것을 확인할 수 있다.




반응형
블로그 이미지

Bryan_

,