Begin again, but know when to let go
OPPO/중국 스마트폰에서 구글 순정 문자앱 사용하기 본문
자주 사용하는 앱이 영어로 쓰여져 있는 것은 큰 반감을 가지게한다.
대부분의 앱은 3rd party app으로 극복가능했지만, 자주쓰는 전화/연락처/문자
앱은 한글로 된 것을 사용하고 싶었다.
마켓에는 많은 전화나 문자앱이 존재하는데, 그중에서 마음에 들었던 것은 AOSP에 들어가는
순정앱이었다.
1. apk로 그냥 설치하기
color os의 package installer는 상당히 특이한 구조를 지니고 있어 apk파일을 설치하기에 까다롭다.
조금 특이한 구조라고 볼 수 있다. 일반적으로 5.1롤리팝에서는 pm으로 설치를 할 때, adb가 pm에게 파일을
복사해서 넘겨주면 설치를 시도하고 해당 결과를 리턴코드로 알려주고 실패할경우 apk를 삭제하는 구조인데
color os는 복사과정후 자체적인 내부 pm의 감독하게 사용자가 일일히 설치버튼을 눌러야한다.
residuntial install files을 제거하기 위한 방법으로 보이는데, 몹시 불편하며 직관적이지 못하다.
호환이 되지 않는 앱 또는 uid를 요구로하는 앱들은 설치가 제대로 되지 않는데 그현상은 아래와 같다.
- 앱을 설치할 공간이 없다며 실패
- 그냥 fail
해결방법으로는
- 구버전
"알려지지 않은 앱 설치"항목만 승인해줘도 가능한 경우가 있음
이방법이 안통하면 플레이스토어를 우회하면된다.
앱이 마켓에 존재하나 디바이스와의 호환성이 맞지 않아 설치가 안 될 경우 playstore를 이용하면 설치가 된다
물론 uid를 요구로 하는 앱은 당연히 안되니까 기대하지 말것.
markhelper를 통해서 디바이스를 nexus5로 바꾼다음에 시도하면 설치가 된다.
하지만 신버전에서는 이방법이 통하지 않는다. market helper가 동작하지 않기 때문
- 신버전
루팅을 해서 apk파일을 /data/app에 디렉토리를 만들어 설치된마냥 만들어주면 된다.
툴은 root explorer로 같은 것을 이용할 것. adb는 debugable 옵션이 활성화 되어 있지 않아 remount를 할수 없다.
ro.build.prop파일을 수정하면된다는데, 어쟀든 비지박스로 진행해야한다.
이때 주의해야할 점은 반드시 디렉토리와 앱에 chmod설정을 해줘야한다는 것 안하면 안된다.
시스템앱도 이와 같은식으로 삭제가 가능하다. 하지만 시스템앱은 가급적이면 삭제하지 말기를 바란다.
삭제말고 pm hide명령어를 추천한다. 이명령어는 루트권한이 필요 없다.
이 과정에서 설치가 제대로 되지 않거나 memory acces~ 관련 메시지가 나올 수 있는데,
삭제를 하면 어차피 내가 임의로 만든 디렉토리와 apk는 사라지지 않는다. 결국 재부팅시에
다시 설치가 되어 있는 것을 알 수 있는데, 이 방법을 우회해서 삭제후 플레이스토어에 가면
이미 설치된 항목이므로 활성화가 되어 있다. 설치버튼을 누르면 호환성을 해결한 방식으로
다운로드가 되어 재설치가 된다.
2. 연락처 설치하기
플레이스토어를 우회하는 방법으로 구글연락처를 설치하였다. 이패키지는 com.android.google.contacts이며 color os의 연락처는
com.android.contacts이다 엄연히 다르므로 충돌하지 않는다. 다만 디폴트가 시스템의 연락처이므로 pm hide 명령어를 이용해
숨김처리를 해주면 구글 연락처를 디폴트로 사용할 수 있다.
시스템의 contacts는 다이얼러와 contacts를 병합한 형태의 앱이므로 hide시키면 dialer를 새로 받아야한다.
물론 teleservice를 담당하는 게 아니므로 전화수발신에는 제한이 없다.
처음에는 연락처에 에러가 뜰 수 있다. 이때에는 구글계정 연락처 동기화 앱이 정상작동하고 있는지를 확인하라.
freeze와 auto-run등의 제한을 풀어주고 앱데이터와 캐시를 제거후 계정도 한번삭제후 재등록하면 깔끔하게 동기화가 완료된다.
3. 전화 설치하기
구글의 dialer에 큰미련이 없어서 3rd party dialer로 대체했다. 어차피 전화번호 입력만하는 용도라
크게 상관이 없다.
4. 문자 설치하기
문자메시지에 큰 고생을 했는데, 일단 결론부터 말하면 구글 순정 메시지 앱은 오류가 꽤있다.
이건 사실 구글의 큰 문제점이기도 한데, 기본 앱퀄리티가 말그대로 aosp인 가이드라인만 존재하는 앱이라는 것이다.
그런심플한 맛에 사용하기는 하지만 그래서 아주 가끔 예외처리에서 어떻게 구글이 이런실수를 하지 라고 생각될 정도의 문제점이 있을 수 있다.
엄밀히 말하면 이건 구글의 문제가 아닌 호환성의 문제이지만 말이다.
010으로 등록한 모든 연락처의 사용자 이름이 제대로 나오지 않는다. 이것이 contacts provider의 지역설정이나
country의 문제일까도 심각하게 고민해보고 20번의 테스트를 해보았지만 결론적으로는 앱호환성이 좋지 않다.
동일 넥서스 기기에서는 010으로 등록해도 사용자의 이름이 잘나오는데, 이 기기에서는 010으로 등록한 사용자의 이름을 db화 하는 과정에서
충돌이 생기는 것 같다. 물론 로그를 보지는 않았다. 봐도 할 수 있는게 없으니까.
+82 10으로 연락처를 등록하면 깔끔하게 사용자의 이름을 찾아주는데, 이럴때의 문제는 문자 송신을 +82국번으로 하게 된다는 것이다.
그리하면 수신 메시지는 010이 되어버리므로 수발신의 메시지가 두개라 나뉘어져 통합이 되지 못한다.
구글 메세지 하나를 쓰기 위해 연락처를 모두 +82로 바꾸어야하고 카톡에서도 친구 전화번호가 +82로 나오고
문자메시지는 두개로 나뉘어서 전달되고 하다보니 여간 불편한게 아니라 결국에는 원래 쓰던 행아웃으로 돌아왔다.
행아웃에는 이와같은 문제가 없다.
아마 이 부분은 사소한 api호환 누락 같은게 있을 것으로 보인다.
5. 결론
행아웃은 루팅을 안해도 문자메시지 앱으로 쓸수 있는데, 결국 이 뻘짓을 왜했나 싶다가도 한가지 좋은점은
기존의 color os 연락처는 검색이 어렵고 새로운 사용자 추가 인텐트를 지원하지 않는다.
그래서 3rd party 앱에서 모르는번호의 사용자를 추가하는 게 불가능했다. 하지만 구글연락처로 바꾸어
호환성을 해결하고 나니 한결 마음이 가벼워졌다.
'취미 > Hack' 카테고리의 다른 글
샤오미 노트북 (미 노트북 에어) 한글화, 정품인증 (0) | 2018.01.19 |
---|---|
TM-AC1900 펌웨어 변경 (0) | 2018.01.13 |
미디어텍 IMEI 쓰는 법 (1) | 2017.01.25 |
미디어텍 롬 플래싱 방법 - SP Flash Tool (2) | 2017.01.25 |
미디어텍 롬 플래싱 방법 - 드라이버 잡기 (0) | 2017.01.25 |