sipdorid는 SIP(Session Initiation Protocol)을 사용한 Android OS기반의 VoIP(Voice over Internet Protocol) 앱입니다.

sipdroid를 이용하면 인터넷 전화를 3G망이나 WiFi에 접속해서 유선전화나 휴대폰 통화하는 것보다 매우  쓸수 있다는 장점이 있습니다.


아래는 sipdroid로 화상통화(video conference)를 하는 동영상. (Mobile-Mobile, Mobile-PC)

Sipdroid adds Video SIP calls in High Quality to Android Market 

SIPDROID의 가이드 링크들

Buy me a coffeeBuy me a coffee

HTC DesireHD의 엄청난 부팅속도를 체험할수 있는 동영상이 나왔습니다.

iPhone4와 Desire HD를 동시 부팅하였을때에 Desire HD가 제일 먼저 부팅된다는 걸 보여주고 있습니다.

Desire HD에 어떻게 부팅속도를 빠르게 했을까요? 궁금합니다.


HTC Desire HD vs iPhone 4 Startvorgang

ps. 참고로 독일인이 독일어로 촬영한거라 부팅영상만 보고 올리는겁니다 ---;;
Buy me a coffeeBuy me a coffee



이 글은 생각을 해볼 글로서, 제 생각을 주절주절 쓴 것입니다.

저의 생각을 주절거린 것이라 딴지 걸어도 상관 없습니다. (욕설만은 피해주시기 바랍니다)


구글의 모토인 Don't be evil(악이되지 말라)라는 말은 천사가 되자는 말이 아니다. 기업의 속성상, 돈벌이를 하기 위해선 악을 써야하지만, 악을 내세우지 말라는 말이라는 늬앙스가 풍긴다고 할까?


안드로이드의 추악한 진실이라는 글에서 Google에 대해 잠시금 생각을 해봐야 하는 회사라는 걸 느끼게 된다.

언론에서는 추악한 Apple사와 다르게 Google은 Don't be evil이라는 모토로 천사같은 이미지가 자꾸 떠오르도록 홍보를 하지만 과연?

구글(Google)이 Android OS를 발표하면서 OHA(Open Handset Alliance)를 조직하였을때 OHA에 대해서 아래와 같은 주장을 하였다.

"이 연합은 휴대기기의 혁신을 가꾸어서 오늘날 존재하는 그 어떤 모바일 플랫폼보다 소비자에게 훨씬 더 나은 사용감을 제공한다는 공통 목표를 갖고 있습니다. 개발자들에게는 새로운 차원의 개방성을 제공하여 보다 더 협력적으로 작업할 수 있게 해 줌으로써, 안드로이드는 더욱 더 빠르게, 소비자들에게 새롭고 매력적인 모바일 서비스를 줄 것입니다."

그렇지만 현재, 한국 모바일 시장에서 안드로이드폰들을 보면 호환성에 문제가 있는경우가 허다하다.

예를 들어 S전자의 갤럭시A나 갤럭시S에서만 봐도 삼성 안드로이드폰 아니 SKT망에서만 돌아가게 되어 있는 MMS시스템이나, 삼성 폰에서만 돌아가는 어플, SKT의 SKAF가 탑재되었다던지, 또다른 P사의 S브랜드도 그 폰에만 돌아가는 어풀과 SKT망에서만 돌아가게 되어 있는 MMS시스템, 그리고 KT폰에서는 KAF가 들어가고 등의 통신사 전용 서비스들이 탑재된 안드로이드 폰들이 많이 출시되고 있습니다.

(KT는 국제 표준인 OMA-MMS 사용한다는것만 SKT와 다르지,  SKT만큼은 아니지만 통신사 이익을 위해서 몇 부분을 집어넣었습니다.)

안드로이드 폰의 통제권을 통신사들에게 건내주고, 통신사들은 아이폰보다 안드로이드폰이 서로 좋다고 광고하는 식으로 유지하는 걸 보면, 아이폰과 같은 방식이 아닌, 통신사가 원하는 예전 방식을 계속 고수하는 듯 하다.

안드로이드는 아이폰의 대항마도 아니고, 아이폰처럼 비교할 대상이 아니다. 안드로이드는 안드로이드일뿐이고, 아이폰과 비교할 가치가 없은 정체성이 있다. 아이폰의 폐쇄적인 생태계에 대항마가 안드로이드라고 주장을 하여도, 과연 그럴지는 모르겠다.

결론은 구글은 안드로이드 OS의 흥행을 위해서 아이폰과 같은 방식으로 판매하는 대신 통신사의 예전 판매방식을 암묵적으로 승인하여, 안드로이드 OS의 분화를 조장하고 있다고 생각함. 

(구글은 안드로이드 OS의 분화를 막기 위해서 안드로이드 디바이스의 호환성을 테스트하는 도구인 CTS (Compatiblity Test Suite)를 내놓았다. 그렇지만, 그 분화를 CTS가 막아줄것인지는 시간이 지나봐야 알 수 있을것이다.)


아직은 안드로이드의 추악한 진실 이란 글이 진실 판명이 된 상태도 아니지만 구글이 절대 선이 아니고, 안드로이드가 대항마라고 주장하기가 어려운 것을 말해주는 글이다. 언론에서 떠드는 구글찬양과 아이폰 대항마인 안드로이드에 대한 것에 대한 생각의 균형을 맞춰주는 글이라고 생각함.

Buy me a coffeeBuy me a coffee

2010/08/07 - [Mobile/Android] - hTC Desire에 Android 2.2 Froyo with Sense UI 올림

의 결과후, 예전 Android 2.1 Eclair보다 얼마나 빨라졌는지에 대한 Benchmark를 하였습니다.



Google에서 내놓은 NexusOne의 Android 2.2 Froyo버전보단 속도가 느리지만 Motorola사에서 내놓은 Droid X와 삼성전자에서 나온 갤럭시S (Galaxy S)보단 속도가 빠르다는군요.

제 휴대폰인 hTC Desire에 유럽발 센스UI가 들어간 Android 2.2 Froyo버전으로 올리니 예전보다 속도가 빨라지고 버벅거림이 정말 많이 없어짐을 느끼게 되었습니다.

이로서 많은 휴대폰들이 Android OS 2.2 Froyo로 올려야 한다는 것을 여기서 답을 낼수 있습니다.

프로요가 아니면 안드로이드 휴대폰이 스마트하게 쓰기 힘들듯한 느낌?

Buy me a coffeeBuy me a coffee



제 휴대폰인 hTC Desire에 유럽에서 먼저 발표된, Sense UI가 탑재된 Android 2.2 Froyo ROM을 찾아 업그레이드 했습니다.

유럽발 hTC공식 OTA판 Android 2.2 Froyo with Sense UI는 아래의 링크에서 찾아서 적용을 하였습니다.

먼저 루팅을 해야 ROM을 마음대로 올릴수 있습니다. 

루팅(Rooting)후 롬을 올리는 작업


위의 화면처럼 유럽에서 나온 Froyo with Sense UI가 적용된 ROM을 적용하려면 루팅을 해야 됩니다.

제 휴대폰인 hTC Desire에 Sense UI가 탑재된 Android 2.2 Froyo 가 설치되어 있습니다.


Android 2.2 Froyo with hTC Sense UI


이후 More Locale 2설치와 Kandroid keyboard를 설치하여 안드로이드폰에 한글이 쉽게 보이고 한글 입력도 수월하게 하였습니다.

Froyo로 올리고 나서 정말 속도가 빨라짐을 체감하고, Flash를 사용가능하게 되었으며, SD카드에 앱 설치도 가능해지고, 태터링 기능이 생겨서 예전엔 어떻게 사용했는지가 궁금할 정도이군요. ㅎㅎ 

Buy me a coffeeBuy me a coffee

CentOS 5.5에서 Android 커널 컴파일 하다 아래와 같은 오류가 생길 때가 있다.


Install: out/target/product/eee_701/system/app/Mms.apk
make: *** No rule to make target `vendor/google/frameworks/maps/
com.google.android.maps.xml', needed by `out/target/product/eee_701/
system/etc/permissions/com.google.android.maps.xml'.  Stop.

이럴 경우엔 eee_701.mk 파일 내용중에서 generic_with_google.mk를 generic.mk로 수정을 한다.

이 경우엔 구글 지도와 구글 토크를 사용하지 못하는 단점은 있다.

출처: [android-porting] Re: Compile error (no com.google.android.maps.xml)

Buy me a coffeeBuy me a coffee



CentOS 5.5에서 Android 커널 컴파일 하다 아래와 같은 오류가 생길 때가 있다.


host C: sqlite3 <= external/sqlite/dist/shell.c

external/sqlite/dist/shell.c: In function ‘callback’:

external/sqlite/dist/shell.c:540: warning: comparison between signed and unsigned

external/sqlite/dist/shell.c:551: warning: comparison between signed and unsigned

external/sqlite/dist/shell.c:561: warning: comparison between signed and unsigned

external/sqlite/dist/shell.c:575: warning: comparison between signed and unsigned

external/sqlite/dist/shell.c:580: warning: comparison between signed and unsigned

external/sqlite/dist/shell.c: In function ‘do_meta_command’:

external/sqlite/dist/shell.c:1051: warning: comparison between signed and unsigned

external/sqlite/dist/shell.c:1603: warning: comparison between signed and unsigned

host Executable: sqlite3 (out/host/linux-x86/obj/EXECUTABLES/sqlite3_intermediates/sqlite3)

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `PC'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetflag'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetent'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `UP'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tputs'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgoto'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetnum'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `BC'

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetstr'

collect2: ld returned 1 exit status

make: *** [out/host/linux-x86/obj/EXECUTABLES/sqlite3_intermediates/sqlite3] 오류 1

[studioego@localhost cupcake]$

위와 같은 문제가 일어날 경우 아래와 같이 작업을 해준다.

[studioego@localhost cupcake]$ yum install -y readline*

[studioego@localhost cupcake]$ vi ./external/sqlite/dist/Android.mk


ifneq ($(strip $(have_readline)),)

-LOCAL_LDLIBS += -lreadline

 endif


위의 대용 대신 대신 아래와 같이 -lncurses 를 추가한다.

+LOCAL_LDLIBS += -lreadline -lncurses


ifneq ($(strip $(have_readline)),)

-LOCAL_LDLIBS += -lreadline -lncurses

 endif


 

Buy me a coffeeBuy me a coffee



미국에서 나온 갤럭시S광고(T-Mobile Vibrant, AT&T Captivate)들은 정말 인상적입니다.

AT&T Samsung Captivate TV Commerical

T-Mobile Samsung Vibrant TV Commerical 


삼성이 갤럭시S를 얼마나 전략적으로 미는지를 알수 있는 미국광고를 보니, 갤럭시S는 아마도 성공할것 같은 안드로이드 휴대폰이 될듯 합니다. (일단 하드웨어 스펙이 깡패니 당연)


그러나 한국에선?  삼성전자 홍보팀, 제발 갤럭시S 광고좀 미국처럼 만들면 어디 덧나나요? 

옴니아2때의 애국심 마케팅까지만 아니면 다행이랄까?


2009/12/20 - 삼성전자 서비스센터 길동점에 붙여있는 티옴니아2포스터. '대한민국 스마트폰의 자존심'이라며 태극기까지 걸고 애국심광고를 함.
2009/12/20 - 삼성전자 서비스센터 길동점에 붙여있는 티옴니아2포스터. '대한민국 스마트폰의 자존심'이라며 태극기까지 걸고 애국심광고를 함. by StudioEgo 저작자 표시비영리동일조건 변경허락


Buy me a coffeeBuy me a coffee

Android Platform에서 멀티미디어 관련한 부분은 PacketVideo사에서 만든 OpenCORE로 구성되어 있다.

OpenCORE의 아키텍처와 서비스를 알아야 안드로이드 관련 멀티미디어 구현의 이해가 쉽게 될것이다.


OpenCORE는 자바 기반의 오픈 소스 멀티미디어 플랫폼이다.

  • 서드파티(Third-Party)와 하드웨어 미디어 코덱, 입출력 장치와 콘텐츠 정책을 위한 인터페이스 제공
  • 3GPP, MPEG-4, AAC, MP3 포맷을 지원하며, 미디어 재생, 스트리밍, 다운로딩, 그리고 프로그레시브(Progressive) 재생 지원
  • MPEG-4, H.263, 그리고 AVC(H.264)와 JPEG등의 비디오와 이미지를 위한 인코더와 디코더 지원
  • AMR-NB와 AMR-WB를 포함한 스피치 코덱 지원
  • MP3, AAC, AAC+를 포함한 오디오 코덱 지원
  • 3GPP, MPEG-4, JPEG를 포함한 미디어 레코딩 지원
  • 324-M 표준 기반의 화상통화 지원
  • 안정성과 경고성 보장을 위하여 PV 테스트 프레임워크 지원 - 메모리와 CPU사용을 위한 프로파일링(Profiling)툴을 지원

OpenCore 코드는 매우 양이 많고, C++로 작성된 full-featured(전체적인 멀티미디어 기능을 갖는) 운영체제에 통합되는 구조로 되어 있고 (operating system migration layer), 매우 다양한 함수들이 상속성의 특징과 같은 다양한 레벨간의 인터페이스 여러형태로 패키징 되어 있다.

이 OpenCORE의 소스를 깊이 분석한 사이트는 아래와 같습니다.

http://blog.daum.net/lavendar17


블로그 내용을 둘러보고 있는데 상당히 분석을 잘 하였다.


Buy me a coffeeBuy me a coffee

Android Platform의 기본 개념에 대해서 매우 깔끔하게 정리한 문서


Android Platform의 4부분인 Kernel, HAL(Hardware Abstract Layer), Libraries, Application Framework를 구분하여 설명을 하였음


Android Internals Reference

http://code.google.com/intl/ko/android/

http://groups.google.com/group/android-internals

http://www.android-internals.org/

http://groups.google.com/groups/profile?enc_user=_EKOshMAAADzFnauhYxa0ga8JtF8CI5fWMj6vob75xS36mXc24h6ww

http://groups.google.com/groups/profile?enc_user=lYDbNxEAAAD8uJiqPP7Wd-bc9b1O3waCkdEasx1kiYTQavV7mdW13Q


Buy me a coffeeBuy me a coffee

+ Recent posts