본문 바로가기

TechLog

Nexus S와 호환되는 안드로이드 앱 만들기

BITNA의 안드로이드 버전을 만들고 난 후, 넥서스 S 기종에서는 안드로이드 마켓에서 BITNA를 다운받을 수 없다는 말을 나중에야 듣게 되었다. 최근에야 겨우 어떻게 해결을 보려고 이것저것 알아 봤는데 알고보니 다음 두 가지가 원인인 듯 하다.



1. android.permission.WRITE_EXTERNAL_STORAGE 퍼미션

AndroidManifest.xml 파일에 설정할 수 있는 안드로이드 앱의 퍼미션 중 WRITE_EXTERNAL_STORAGE란 것이 있는데, 이름 그대로 외부 저장소(대부분의 경우 micro sd 메모리를 의미한다)에 읽기/쓰기를 할 수 있는 권한을 나타낸다. 안드로이드 앱에 이 권한이 없으면 외부 메모리 카드에 앱을 인스톨할 수 없기 때문에 넣은 권한인데,

넥서스 S는 외부 메모리 카드를 꽂을 수 있는 슬롯이 없기 떄문에 이게 문제가 된다고 한다.
(실제로 이 퍼미션이 문제가 되는지 확인은 못하고, 일단 퍼미션은 빼 두었다. BITNA는 용량이 800KB 정도 밖에 안 된다)



2. Copy Protection 옵션

안드로이드 개발자 사이트에서 앱의 publishing 옵션을 보면 다음과 같은 설정이 있다.


사실 뭐 별 문제될 것은 없어 보이는 설정이다. 곧 사라질 기능이라고는 하지만, 기기 호환성에 대한 경고 같은 건 적혀 있지도 않은데 ...

이 설정이 켜져 있는 앱은 안드로이드 마켓에서 넥서스 S와 호환되지 않는다!

물론 이유는 알 수 없다. 안드로이드 앱을 만들 때 부딪히는 문제들이 늘 그렇듯이.
꼭 넥서스 S 뿐만이 아니라 다른 진저브레드 채용 디바이스에서도 호환성이 없다고 출력되는 경우가 종종 있다고 한다.



열심히 만든 앱이 안드로이드 마켓에 표시되지 않는다는 보고를 받았다면, 위 두 개의 사항을 한 번 체크해보자.