안드로이드 OS 업그레이드에 관해서...

bluekyu의 이미지

요즘에 안드로이드를 사용하는 스마트폰이 많이 나와서 인지 안드로이드가 업그레이드 되면 말이 많네요.
뉴스 기사로도 많이 나오기도 하는데, 이런 기사 볼 때마다 안드로이드를 일반 pc 운영체제처럼 업그레이드 할 수 없는 건가 라는 생각이 드네요.

제 생각으로는 스마트폰의 하드웨어 드라이버를 설치하는 방식으로 사용한다면 안드로이드 버전이 업그레이드 됐을 때 하드웨어 드라이버만 수정해서 지원해주면 빠르게 업그레이드가 가능할 거라는 생각이 듭니다. 그리고 제조사들이 기본적으로 제공하는 어플리케이션도 설치 방식으로 제공해준다면 더더욱 빠른 시일 내로 업그레이드가 가능할 것 같다는 생각도 듭니다.

안드로이드가 일반적인 pc 운영체제와 다른 면이 있어서 이런 것들이 불가능한 건가요? 뉴스 기사를 볼 때마다 좀 답답하다는 느낌이 들어서 글 올려봤습니다.

warpdory의 이미지

핸드폰 같은 '임베디드' 장치의 경우, 하드웨어에 얽힌 게 많아서 힘들 것 같습니다. PC 에서 OS 깔고 디바이스 드라이버 설치하듯이 하는 것은 어렵다고 하더군요.

나중에 시간이 지나면 모르겠지만, 현재로서는 어렵다고 합니다.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.net
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

kaleana의 이미지

진저브레드부터는 OS를 모듈화해서 업그레이드를 보다 유연화하겠다는 계획은 있더군요.

-

I thought what I'd do was,I'd pretend I was one of those deaf-mutes.


-

I thought what I'd do was,I'd pretend I was one of those deaf-mutes.

지리즈의 이미지

스스로 안드로이드 업그레이드 바이오스 이미지를 만드는 것은 어렵습니다.

대강 향후에는 이렇게 돌아갈 겁니다.

메이커에서 배포하지 않은 (리눅스)커널이 있다면, 개인들이 알아서 패치를 만들어 냅니다.
메이커에서 배포한 커널이미지가 있다면 이 단계는 스킵니다.

그럼 리눅스 커널을 사용하는 안드로이드, maemo 등 여러 플랫폼(?)들에 대해서
이 커널이 적용된 최신 버전 이미지를 고수들이 각 커뮤니티 서버에 올립니다.

일반인들은 그냥 다운 받아서 업데이트만 하면 됩니다.

여기서 이 이미지 종류들이 다양화될 가능성이 있습니다.
지금 배포본급는 아니고, 이미지를 만드는 개인들의 취향이 반영되서 약간씩 스킨이 달라지던가
기본 어플리케이션이 크롬에서 firefox로 바뀌던가 하는식으로요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

오리가날지못해우물에빠진날의 이미지

HW제조사가 아닌 개인이 했을경우의 AS같은 문제가 있을것 같네요.

지리즈의 이미지

문제가 생기면 원래 폼웨어로 업데이트 해버리면 되니까...

AS문제가 크게 작용하지 않을 수 있습니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

오리가날지못해우물에빠진날의 이미지

제가 익뮤를 쓰는데
펌웨어 해킹을 따라하다가 실패해서 먹통이 된 경우
그 글을 쓴 사람을 고소해버리는 경우가 종종 있는것 같아서요.(뭘로 고소했는지는 모르겠지만)
익뮤쓴지 이제 한달인데 까페가입해서 글 보다보니 그런 글들이 보였어요.

해킹한 폰 들고가면 HW제조업체에서는 보통 소비자 과실로 떠넘기니까요.

지리즈의 이미지

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

cwryu의 이미지

티보이제이션이 되어 있어서 커뮤니티에서 만든 이미지는 사용할 수 없습니다.

안드로이드 펌웨어 업데이트에는 제조사 고유의 디지털 사인이 되어 있어서 이 사인이 제대로 되어 있지 않은 업데이트 이미지는 설치가 불가능합니다.

(의도적으로 업데이트 방법을 열어 둔 G1 개발폰, 넥서스원 따위는 제외)

blkstorm의 이미지

보통 임베디드 시스템들은 제조사들에서 하드웨어에서 시작해서 소프트웨어를

맞추는 경우가 많습니다. 각종 페리퍼럴(ethernet, i2c 등등) 디바이스 드라이버들도 특정 하드웨어에

커스터마이즈가 되어있는경우가 많구요. 물론 대부분의 임베디드 OS들이 디바이스 드라이버들을 모듈화를 하고

그 인터페이스 프로파일을 거의 고치지 않고 사용하기 때문에 포팅성이 나쁘다고할수는 없지만,

컴파일러나 라이브러리 때문에라도 떼었다붙였다하는 식으로 업그레이드가 진행되기는 어렵습니다.

그리고, PC OS들도 서비스팩/패치 배포하기 전에는 테스트를 엄청 많이 하는걸로 알고 있습니다.

(Windows 95는 발매된 이후에도 확인된 잔존 버그 리스트가 Letter용지로 수백장이었다고 합니다)

소비자 입장에서야 그냥 서비스팩 깔면 끝이지만, 그 서비스팩이 나오기까지 엄청난 디버깅과

테스트가 요구된다는거죠.

개인적으로는 안드로이드가 너무 자주 업데이트된다고 생각합니다. 프로요의 경우에는 좀 심했구요.

물론, 테더링이라던가 JIT같이 사용자들에게 실질적인 도움을 주는 기능들이 추가되기는 했습니다만,

아무리봐도 비지니스적인 측면에서 발표를 강행했다는 느낌을 지울수 없습니다.

(약간 오프토픽입니다만, 프로요와 같이 발표된 구글 티뷔도 그렇구요)

neocoin의 이미지

Froyo의 차기 버전 Gingerbread 가 무려 이번 4/4 분기에 출시된다고 하더군요. iPhone 따라잡기와 Windows Phone 격차 벌리기 때문인지도 심하게 버전업을 빨리 하고 있다는 생각이 듭니다.

과연 Google의 레퍼런스 폰인 N1을 어느 버전까지 업그레이드 시켜줄지 궁금하네요.

Gengerbread 에서는 WebM 프로젝트가 성과물이 Android에 들어가게 될텐데(혹은 중간에 마이너 업그레이드를 하던지요), 내년도 재미있게 되겠네요.

mycluster의 이미지

스마트폰의 오에스 업그레이드가 힘든 이유는 소위 말하는 "망연동" 테스트 때문이라고 합니다.

폰의 오에스를 하나라도 변경하게 되면, 변경에 따라서 기존의 통신망에서 아무런 문제가 없다는 것을 일일이 다 다시 검증을 받아야 출시가 가능하게 되는데 통상 망연동을 위해서 네트워크를 구성하고 서버를 연결하고 거기에 폰을 다시 달고 하는데, 통상 1~2개월이 소요된다고 하더군요.

오에스 업그레이드를 할려면, 하드웨어 제조사가 업그레이드하고 드라이버 업하고 하는데만 최소 2~3개월은 걸릴거고, 그 후에 다시 망연동 계획잡고 장비 연결하고, 연동테스트 하는데만 1~2개월이니 아무리 빠르게 한들 4~5개월은 걸리는거죠.

1.6으로 만든 폰을 2.1로 업하는데 6개월이면 양호한거죠... 문제는 망연동 실컷하고 있는 이시점에 2.2 나왔으니 다시 2.2로 올려주세요... 하면 답 없는거죠.

안드로이드가 호평을 받고 있지만, 아이폰오에스나 윈모, 심지어 바다에 비해서도 통신사 입장에서는 컨트롤이 안되는 오에스라는 것이 확산의 가장 큰 걸림돌로 보이는군요.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

withtw의 이미지

안드로이드는 광고용으로 만든 운영체제죠.
개발자만 죽어나고 있습니다.

altromondo의 이미지

안드로이드 때문에 개발자만 죽어나고 있다는 건 무슨 의미인지요..? 혹시 안드로이드 때문에 프로그래머가 대량 해고라도 당하고 있는지.. 혹 기존 플랫폼에 안드로이드까지 더해져 부담스러워졌다면 그건 안드로이드 플랫폼(및 빠른 업데이트)을 위해 신규 고용을 하지 않는 업체 쪽 문제입니다.

neogeo의 이미지

상당히 애매한 문제인데, google 이 일부러 다른 업체는 쫓아오지 못하게 하려고 빠른 속도로 업데이트를 하는게 아닌가 라는 이야기가 돕니다. 신규고용 문제가 아니라 임베디드 리눅스인력 수도 부족하지만, 있는 인력이 안드로이드 플랫폼을 받아서 버그 고치고 드라이버 포팅하고 뭔가 다 작업이 끝나가면 새 버젼이 나와버립니다.

그리고 app 단에선 되도록 하위호환을 유지하지만, 드라이버나 커널단은 하위호환 유지를 그다지 하지 않고 있는 관계로 버전업이라는게 patch 수준이 아니라 일일이 코드 diff 를 봐가며 손으로 만져줘야할 부분이 많습니다. 게다가 새 버젼이라고해서 버그가 적은것도 아니구요. ( 일일이 찾아서 수정해야합니다. )

개발 속도가 빠른건 좋은데 뭔가 너무 변화가 심하고 커널 API 단 전체를 아우르는 통일성이 리눅스 커널 자체에 좀 부족한 면이 있습니다. 문서화도 제대로 하지 않고 유일하게 참조할만한것이 각 커널 소스 버젼별 diff 과 그동안 쌓인 change log history 라는 것도 상당히 괴롭습니다.

Neogeo - Future is Now.

Neogeo - Future is Now.

withtw의 이미지

neogeo 님 말씀데로, 버전업을 개발자들이 따라가기가 힘들다는 뜻입니다.
버전업이 되면서 새로운 기능이 추가되는데, 업체에서는 그 기능을 새 프로그램에서 이용할 수 있기를 바랍니다.
하지만, 문서와 샘플소스가 부족해서 API 설명만 가지고는 구현하기가 여간 힘든게 아니었습니다.
한참 지나서 샘플소스가 공개되곤 하는데, 그 샘플소스라는 것도 기대이하였구요.
차라리 구글링에서 찾은 다른 개발자가 공개한 소스가 훨씬 나았었죠.
윈도우즈API를 쓰신 김상형씨도 이번에 안드로이드 책을 하나 내셨는데, 머릿말을 보니
고생을 많이 하신듯 하더군요.

sunyata01의 이미지

역시 책임의식을 가지고 첨부터 끝까지 제대로 한업체가 안맡아서 물건 만드니 안맞는거죠..?
이런 문제점에서 pc랑 임베디드 장비랑 차이점이 있는거 맞죠?

bushi의 이미지

단발 용역 형태의 원청/하청 제품 개발을 진행하지 말고,
런타임에 copy당 댓가를 지불하는 형태로 계약을 하고 제품 개발 하라는 뜻이거나,

wintel 이 십몇년간 업계를 먹여살린 것 처럼, 자신들도 그런 식으로 크고 싶거나.

OTL