제 노트북인 ThinkPad R52에 Ubuntu 10.04가 설치가 되어 있고, 커널은 2.6.32가 설치되어 있습니다.

studioego@studioego-laptop:~$ uname -a 

Linux studioego-laptop 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux

studioego@studioego-laptop:~$ cat /proc/version

Linux version 2.6.32-24-generic (buildd@rothera) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010

studioego@studioego-laptop:~$ 


이 노트북에 Linux Kernel 2.6.32에서 2.6.34로 올려볼 생각을 하였습니다. (최신 버전인 2.6.35.2 에 kernel BUG at arch/x86/mm/highmem_32.c:45 메모리 참조 잘못하는 버그가 있어서 차마 최신 버전을 올리진 못하고 안정버전인 2.6.34로 컴파일 하게 되었습니다.)


자고 일어나면 컴파일 완료되어서 노트북에 새로운 커널이 부팅되는 모습을 볼 수 있겠지?

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

이분은 어느 행성 출신?, originally uploaded by ganadist.

저의 국적은 어디일까요?? (제 사진입니다)

2010년 8월 8일, 종로1가 르메이에르종로타운 1층에서.
미진에서 메밀국수와 메밀전병, 보쌈을 먹고 나서 찍은 사진.

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




Nexus One Organic LED Detail
Nexus One Organic LED Detail by Fragments of Eternity 저작자 표시비영리동일조건 변경허락

구글이 안드로이드 마켓의 약관(Android Market Developer Distribution Agreement (DDA))을 업데이트 하였다고 합니다. 이러한 약관 조정은 안드로이드 마켓의 새로운 결제 방법 선택사항을 추가하기 위해서랍니다.

Adjustment to Market Legals



약관이 아래와 같이 변경되었다고 합니다.

  • In Section 13.1, “authorized carriers” have been added as an indemnified party.

  • Section 13.2 is new in its entirety, covering indemnity for payment processors for claims related to tax accrual.

위와 같이 약관이 변경되어 통신사 결제 옵션("Authorized carriers")이 추가될 것 같습니다.


안드로이드마켓에서 앱을 구입하려면 지금까지는 Google Checkout을 사용해아만 했었지만, 이제 Paypal, 그리고 통신사등을 거친 결제 옵션들이 늘어나 앱 결제시 어떤 방법으로 결제될지에 대해 선택들이 늘어났습니다.^^

Android Market의 Paypal 결제 관련 기사:  PayPal payments coming to the Android Market


그리고 약관변경을 통해 개발자들은 위의 약관에 발표된 날부터 30일전까지 동의를 해야합니다. 동의하지 않으면 앱이 unpublish까지 되는 일이 생긴다더군요. (이미 이러한 사항은 개발자들에게 이메일로 보냈다고 합니다.)



ps. 추가로 알아본 결과 안드로이드펍의 관리자이신 회색님께서 안드로이드 마켓 통신사 결제 도입된다. 라는 글을 올렸습니다.


현재 미국 T모바일의 경우 통신사 요금을 통해 안드로이드 마켓의 앱을 구매할수 있지만 나머지대부분 통신사의 경우 구글 체크아웃을 이용하여 결제를 해야 합니다.


라고 적으셨군요.

앱을 통신사로 결제하는 방법은 현재까지, T모바일에서만 통신사요금을 통해서 안드로이드 마켓의 앱을 구입할 수 있었나봅니다.

Buy me a coffeeBuy me a coffee

+ Recent posts