구글 플레이 새 계정 국가 스토어 설정하기

보통 VPN을 쓰면 된다고 나오지만, 무슨 이유에선지 일본 VPN을 써도 플레이 스토어 안에서는 인도로 나타나거나 미국으로 나타나는 등 플레이 스토어 내에서의 country detection 이 이상하게 나타난다.

 

아무튼 VPN으로 해결할 수 없을 때 플레이 스토어의 국가를 설정하는 방법이다.

국가를 변경하기 위해서는 새 계정이거나, 혹은 국가를 설정한 뒤 1년이 지나야 한다고 한다. (https://support.google.com/googleplay/answer/7431675)

그러나, 이 방법으로는 이전 국가에 지갑 잔고 (또는 그에 상응하는 것 – 예를 들면 플레이 스토어에서 구입한 영화 등이 이에 해당한다)가 있지 않다면 1년이 지나지 않아도 변경되는 것으로 보인다.

 

  1. 변경하려는 국가의 결제 프로필을 만들고 기본 프로필로 설정한다.

예를 들어 일본으로 변경하고 싶다고 하면 일본에서의 결제 프로필을 만들고 이를 기본 프로필로 설정한다. (https://pay.google.com/payments)

2. APKpure 나 qooapp 등을 이용해 해당 국가의 마켓에만 출시된 앱을 기기에 설치한다.

3. play store 에서 my apps & games 로 들어간다. 그리고 2. 에서 설치한 앱을 찾고 해당 항목을 클릭한다. (플레이 스토어를 통해 설치하지 않았더라도 설치된 앱이 스토어에 등록된 앱이라면 표시된다.)

play store 의 my app 목록

4. 여기가 중요하다. 해당 앱의 페이지가 플레이 스토어에서 열린다. 여기에서 삭제 후 페이지를 떠나지 말고 삭제가 완료되면 삭제 버튼이 설치로 바뀌는데 다시 설치 버튼을 눌러서 설치한다. 이렇게 하면 자신의 스토어 라이브러리에 해당 앱이 추가된다.

5. 이후 플레이 스토어 앱을 종료 후 재시작하면 라이브러리에 한개 이상의 앱이 등록되어 있으므로 접속중인 ip 와 관계없이 계정의 국가 설정에 따른 스토어가 표시된다.

 

문제 해결

4. 에서 삭제 후 설치를 시도할 때 “해당 지역에서는 사용할 수 없는 앱입니다” 라고 표시된다면 스토어 국가가 제대로 변경되지 않은 것이다.

 

해설

이 글은 플레이 스토어의 버그와 그 우회법에 대한 것이다. 계정의 국가를 변경하였으면 해당 국가의 마켓이 표시되는게 맞지만, 라이브러리에 앱이 하나도 없는 경우는 이것이 제대로 반영되지 않고 ip에 기반하여 추측한 국가의 마켓을 선택한다. 이후 라이브러리에 앱이 하나 이상 있는 경우는 계정 국가에 따른 마켓이 정상적으로 표시되는 것으로 보인다.

그럼에도 불구하고 구글은 이를 버그로 여기지 않는 듯하다. 사용자가 직접 입력한 주소와 자신의 ip기반 위치 추측이 일치하지 않는 경우 자신의 추측이 올바르다고 생각하는 모양.

2. 와 3. 은 사실 4. 를 들어가기 위한 단계이므로, 4. 로 연결되는 앱의 주소를 알고 있다면 2. 와 3. 은 건너뛰고 해당 주소를 열면 된다. 근데 이 주소를 (어디 저장해놓지 않았다면) 알아내기가 귀찮아서 그냥 2. -> 3. 을 거치는 게 편한 것 같다. 맞는 주소를 열어도 왠지 4. 로 연결되지 않는 경우도 있고…

 

추가)

실제 핸드폰에서 이를 시도하면 죽어도 변경이 되질 않는데, 정확한 원인은 모르겠다.

USIM 이 꽂혀 있는 경우 usim 의 carrier 값을 참조해서 국가를 설정하는 것이 제일 우선된다고 생각되지만 그냥 안드로이드 버전(9+)에 따라 다른 것일 수도 있다.

가장 확실한 방법은 아무 에뮬레이터나 설치하고 위 가이드 대로 새로 설정하는 것이다.

2018-08-27 오디오 리핑 일기

사실 리핑을 한 건 26일인데 마무리한 건 27일이니 그냥 27일로 쓴다. 정리하기 귀찮으니 그냥 사고의 흐름대로 씀.

 

처음에는 EAC(Exact Audio Copy)을 건너뛰려고 CueTools 에 포함된 CueRipper 로 리핑을 시도했었는데 Ioctl 에러가 나면서 실패했다. Daemon tools 에서 CD 이미징 시에도 문제가 있는 걸 보면 이 드라이브에 호환성 문제가 있는가 싶기도 하다. 아무튼 그래서 EAC->CueTools 의 과정을 거쳐 wav 에서 flac 으로 인코딩했다.

CueRipper 를 사용하여 리핑 시 발생하는 에러

EAC 이미징 시에도 freedb 검색을 지원하지만 왠지 불만족스러운 결과가 나오므로 db 자체가 없는 경우에 최초 작성할 때만 사용하고 (cuetools 의 경우 이런 인터페이스가 없어서 불편하다.) Cuetools 로 인코딩 시에 db를 재지정했다.

그런데 android flac 플레이어에서 재생해보니 어떤 파일은 cue 파일을 인식하는데 어떤 파일은 못하는 등 엉망이었다. 그래서 안드로이드용으로 embed 파일을 추가로 만들기로 했다.

embed 버전을 만들 때 그냥 기존 .flac 파일에 embedding 만 해주는 기능이 있을것 같은데 사용법을 몰라서 그냥 새로 인코딩했다.

그런데 만들고 보니 embed 버전에서도 .cue 시트는 여전히 생성되더라. 지우려고 하다가 문득 혹시나 싶어서 .cue 시트를 마운트해보니 embed 한 flac 으로도 정상적으로 마운트되고 재생되었다.

cue 시트 마운트도 이번에 기존에 쓰던 Daemon tools 대신 ImgDrive 로 바꾸었다. 아마 인코딩 문제로 생각되지만 daemon tools 의 경우 몇몇 파일은 마운트하지 못하는데, ImgDrive 는 문제없이 마운트한다. 다만 마운트 시에 분석 시간이 몇 초 가량 소요된다. daemon 도 약간 딜레이는 있었으니 큰 단점은 아닌 듯 하다.

한 줄 요약: 앞으로는 그냥 embed 버전으로 인코딩하면 flac 자체로도, cue 시트로도 재생가능하다.

그렇게 다시 재인코딩하면서 보니 Heart cleaning 의 경우 앨범 아트가 잘못 들어간 것을 확인해서 Mp3tag 를 이용해서 앨범아트를 수정했다.

처음에는 구글 검색에서 적당히 교체할 생각이었지만 검색 결과 amazon.co.jp 의 상품정보에서 고화질 앨범아트를 제공하기에 이를 다운받아 교체하였다.

Mp3tag 는 cuetools 와 달리 리사이징 문제도 없고 앨범아트도 여러개 추가가 가능했다. (다만 이것을 지원하는 플레이어가 있는지는 모르겠다.)


작성후 cuetools 가 업데이트 된 것을 확인하고 2.16 버전을 테스트해보니 CueRipper 로 정상적으로 리핑되었다. 다만 해당 버전의 버그인지, 아니면 zip 파일을 차단 해제하지 않고 압축 해제한 바람에 외부 dll 이 차단되어서 발생한 문제인지 모르겠다. 아무튼 2.16 버전에서 압축 해제 전 차단 해제를 하고 압축을 해제하면 정상적으로 리핑된다.

파일 다운로드시 발견할 수 있는 차단 메시지

이러한 차단 기능은 일반적으로는 문제를 일으키지 않지만 아카이브 안에 2개 이상의 실행 가능한 파일(.exe, .dll) 있고 하나가 다른 하나를 실행하는 경우, 탐색기를 통해 시작되지 않은 두번째는 차단된다(아마 자식 프로세스를 생성하려 할 때 차단되는 것 같다). 이를 해결하려면 실행되는 파일 각각을 모두 “차단 해제”를 하여야 한다.

모범적인 보안 태도이긴 하나 압축 파일 안에 이러한 파일이 다수 존재하고 이를 신뢰하는 경우 압축을 푼 뒤에 일일이 차단을 해제하기란 매우 귀찮으므로 압축 해제 전 해제해두는 것이 좋다.

이 문제는 사실 프로그램 설치에서도 (차단 해제되지 않은 압축 아카이브로부터 다수의 실행파일을 복사하므로) 똑같이 발생할 수 있는데, 신기하게도 대부분의 경우에는 이런 문제가 생기지 않는다. 아마 TrustedInstaller 가 복사하는 경우에는 이러한 제한이 적용되지 않는 것으로 보인다. 하지만 몇몇 인스톨러는 windows installer 가 아닌 유사 인스톨러이며 (대개는 self-extracting archive; SFX) 이 경우 같은 문제가 발생한다.

아마 인텔이었나 어느 드라이버 인스톨러가 이런 문제를 갖고 있어서 꽤 짜증났던 기억이 있다. 아님 AMD 였던가…?