1번 PC에서 컴파일한 apk를 폰에 올려서 작업하다가, 2번 PC에서 컴파일한 apk를 폰에 올리려고 하니깐, certification 어쩌구 하면서 에러가 난다. 그래서, 그 apk를 uninstall 하고 다시 해보니깐 된다. 여차저차해서 알아보니, signing이 되지 않은 상태의 앱은, PC마다 key가 달라서, 업데이트가 안되는 것 같다.

안드로이드는 uninstall을 할때, 관련된 db를 마이그레이션 하는게 아니고, 모두 지워버리기 때문에, -_-;; 꽤 난감한 시츄에이션. 1번 PC로 컴파일한 녀석을 사용하면, 업그레이드 버전도 모두 1번 PC에서만 컴파일해야 되기 때문이다.

"응? 왜???" 라고 생각되어 찾아보니, Signing Your Applications 라는 글이 있더라. 안드로이드를 여러달 만졌지만, 마켓에 올린 적은 없어서 그냥 배포할때만 쓰는 건 줄 알았는데.. 겸허한 마음가짐으로 찬찬히 읽어보면, Signing을 해야만, 여기서 컴파일하든, 저기서 컴파일하든, 같은 key를 이용할 수 있는 것 같고, 마켓에 올릴 수 있는 것 같다. 별도로 Signing을 하지 않으면, Debug Mode 에서는 기본적으로 각 PC마다 별도의 key가 생성되는데, 이는 임시 키로, 디버깅을 위해서 마련된 key이기 때문에, 해당 apk 파일은 컴파일한 후에 1년간만 사용할 수 있다는 것 같다.

에뮬에 올리는 경우야 어차피, 에뮬 자체를 공유하지 않으니깐 상관 없지만, 폰에 올리면서 여러 PC에서 작업하는 경우는 숙지하고 있어야 하는 것 같다. 배포할때는 물론이고.

아, 주의할 점은, 마켓에 올리지 않고, apk 파일을 직접 돌려서 공유한다고 하더라도, Signing을 하지 않았을 경우에, bin 폴더에 생성되는 apk 파일은, Debug Mode라는 점이다. Ant로 컴파일 할 경우엔, apk 이름에 debug 라는 단어가 붙었던 것으로 기억하는데, 이클립스에서 컴파일 할 때에는, 이런 단어가 붙지 않아서, release 모드로 오해하기 쉽다. (나만 그래? -_-;)

-- 이상한 나라의 종텐.


여차저차 하다가, 모토로이를 갖고 앱 개발을 하게 되었다. 에뮬레이터만 쓰다가, 기기를 달아놓고 개발을 하니, 개발 속도가 훨씬 빨라졌다. (예전이 느렸던거겠지만). 에뮬 안에다가 apk를 install 하는 속도보다, 실제 기기에 usb로 install 하는게 훨씬 빠르다. 실행 속도는 두말할 나위 없고. 에뮬만으로 안드로이드 개발을 하는 것은, 한손으로 개발하는 것과 같다. -_-

일단, 모토로이에 대한 사용자 입장의 느낌을 몇가지 단어로 나열하자면, 우왕. 안드로이드다. 그럴싸하군. 근데 좀 느리네. 가끔 죽네. 내부 용량(어플 설치 가능한 용량)이 100M 밖에 안된다니!(열폭). /* 안드로이드의 현재 버전은, 외부 SD카드엔 앱을 설치할 수 없다. 보안상 제한인듯 싶은데, 안드로이드 다음 버전에서는 개선된다는 소문도 있다. 아이폰에 비해서 상당히 애매한 문제다. */

모토로이 드라이버를 깔고, 여차저차 해주니, 기존 adb 명령어도 다 먹고 참으로 좋은데, 앱 안에서 /sdcard 로 접근이 안되더라. 알고보니, PC에서 모토로이의 SD카드를 사용할 때는, 안드로이드 폰에서, (병행성 문제인 듯 싶지만) /sdcard 의 파티션이 unmount 되는 것. 모토로이의 알림창에서 USB연결을 누르고, 없음을 선택하면, PC와 연결된 상태에서도, 앱 안에서 /sdcard 를 사용할 수 있다. (PC에서의 SD카드 접근은 동시에는 안되지만).

/data/data/패키지이름/ 디렉토리의 접근은 잘 된다. 읽기/쓰기 다 된다. adb shell 에서는 쓰기는 할 수 없다. adb push가 있으니 상관 없겠지만.

작업관리자가 실제로 프로세스를 죽이지 못하는 경우도 있었는데, 개발을 하던 중에, 앱에서 mp3 를 재생시켰는데, 어플을 닫아도, mp3가 안 끝나더라. 그래서, 작업관리자에서 해당 앱을 죽였는데도 노래가 계속 나오더라. 당황하여 adb shell 로 들어가서, ps를 찍어봤는데... 헐. 프로세스가 살아있어?? 게다가, 에뮬과 달리, 실 기기에서는, 퍼미션이 적용되어 있기 때문에, kill -9 를 할 수도 없는데. -_- 노래가 계속 나와 ㅠㅠ

이건 안드로이드의 이슈이지만, 이미 종료된 앱이고, 작업관리자에도 없는데, 프로세스가 종료되는 시점은 정확히 알 수 없다. 종료되지 않을 수도 있다. 생각보다 꽤 오랫동안 프로세스가 살아 있다.

그 외에, 의외로 괜찮았던 구석도 있고, 생각만큼 별로였던 구석도 있고, 생각보다 더 별로였던 점도 있는데, -_-;; 안드로이드 개발자에겐 어쨌든 모토로이든 뭐든, 기기는 필수인 것 같고(개발속도가 엄청 차이난다), 사용자 입장에선 아이폰보다 별로인 것 같다. (나 아이폰 유저다.). 멀티태스킹이 되는 건 좋지만, 딱 그 뿐이다. 그 때문에 엄청 느려진다. 자주. 아... 뭐, 스카이프 같은 어플에겐, 안드로이드쪽이 더 좋아지겠다 싶다. (아이폰은 스카이프 쓰다가 문자가 오거나, 전화가 오면, 끊긴다. ㅠㅠ 어플이 죽으니깐.)

-- 이상한 나라의 종텐.


예전엔, 웹 2.0 어쩌구 저쩌구 사업을 해서 자기도 부자가 되겠다는 사람들이 넘쳐난 반면에, 요즘엔, 아이폰이나 안드로이드 마켓에서 히트를 쳐서, 부자가 되려는 꿈을 가진 사람들이 발에 채인다. 그 중에, 순진한 사람들이 정말정말 많은데..

  • 1위, 자기는 아이폰 해킹해서 쓰면서, 자기가 앱스토어에 올릴 예정인 프로그램은 많이 팔리길 기대하는 사람들. 남들도 너처럼 해킹해서 받는단다 아가야.
  • 2위, 매일매일 새로운 아이디어를 내놓지만, 아이디어 뿐인 사람들. 만들기나 해라 아가야. 마켓에 올려야 뭐가 팔리든 말든 하지?
  • 3위, 아이폰이나 안드로이드를 써본 적도 없으면서, 자기 아이디어는 대박이라고 믿는 사람들. 그런건 무료 어플도 많단다. 너 빼곤 다 쓰고 있어.

-- 이상한 나라의 종텐.


« Previous : 1 : 2 : 3 : 4 : 5 : ... 85 : Next »