2007 2013 Kandroid
www.kandroid.org »
kandroid s/w fundamentals 교육 »
안드로이드 Platform 
▶ HTC Dream Platform Images
Android에 OSS 포팅하기
작성자 gana쪼꼬렛
작성일 2009-02-06 (금) 15:24
ㆍ추천: 0  ㆍ조회: 4376      
IP: 72.xxx.55
첨부#1 libaudio.tar.gz (3KB) (Down:141)
예전에 작업은 해두었는데 시간이 없어서(-ㅅ-) 하루이틀 미루다가 간만에 여유가 좀 되어서 끄적여봅니다.

기본으로 Android에서는 goldfish의 오디오 장치만 지원하게됩니다. 따라서 실제 기계에 올리게 되면 오디오장치가 동작하지 않게 됩니다.

일단 오디오 입출력 관련 소스는 frameworks/base/lib/audiofligner/AudioHardwareGeneric.cpp 입니다.

별도로 오디오 입출력을 구현하려면 pdk에 있는 libaudio를 구현해주면 됩니다.

단지 해야할 일은 AudioHardwareInterface를 적절하게 구현하고 해당 인스턴스를 리턴하는 createAudioHardware()라는 함수를 만들면 됩니다.

간단하게 oss를 통해서 소리만 나는 libaudio를 첨부합니다.

다음과 같은 과정을 거치면 oss를 사용해서 소리가 나오는 안드로이드 이미지를 생성할 수 있습니다.

1. libaudio.tgz를 안드로이드 소스트리의 hardware 디렉토리에 풉니다.
2. 안드로이드 소스트리의 최상위 디렉토리에서 다음 명령으로 빌드합니다.
 # make BOARD_USES_GENERIC_AUDIO=false
3. 빌드 된 이미지를 타겟에 심어서 사용하면 됩니다. 몽땅 엎기 귀찮으신 분은 다음 파일만 복사해서 사용하면 됩니다.
 * libaudio.so
 * libaudioflinger.so

주의: 기본적으로 안드로이드를 부팅시키면 장치 퍼미션이 600으로 되어있습니다. system/core/init/devices.c나 시스템의 /init.rc를 적당하게 수정해서 audio그룹이 rw할 수 있도록 퍼미션을 설정해야 제대로 동작합니다.


뱀다리: 몇군데에서 alsa를 포팅하려는 시도가 있던것 같은데, glibc가 포팅되지 않는 이상 상당한 애로사항이 꽃피울 것으로 예상됩니다. 혹시 glibc로 포팅 시도하시는 분 계신가요?
이름아이콘 들풀
2009-02-06 15:38
gana쪼꼬렛 님.....좋은 내용 감사합니다.
그렇지 않아도 오디오 관련해서 고민할 일이 생겼는데..
많은 도움이 될 듯 합니다..~
   
이름아이콘 HiJune
2009-02-06 18:57
좋은자료 감사합니다~ :)
음.. 저는 cupcake 에서 alsa-lib, libaudio 를 사용중입니다. (alsa-lib과, 그것을 이용한 libaudio는 이미 git에 있는상태입니다. ) cupcake용으로는 아직 수정되지 않아서 직접 몇몇 수정을하면 alsa lib 사용 가능합니다. :)
   
이름아이콘 lovedroid
2009-02-07 02:02
저두 이제 사운드 잡아야 하는데, 고맙습니다. 가나님.. 출장 잘 다녀오시구요. 갔다 오셔서 제가 물어보면 잘 가르쳐 주셔야 합니다. ㅋㅋ
   
이름아이콘 gana쪼꼬렛
2009-02-07 10:52
《Re》lovedroid 님 ,
엇 제가 아는 분인가요? 출장간다는 말을 글에 적은적은 없는데.. 관심법을 쓰셨나;; (-ㅅ-)
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
79 Android용 uSTL 라이브러리 [1] 인베인 2009-06-27 2425
78 Android Dev Phone 1에 Cupcake 올리기 [9]+7 비즈페이 2009-06-25 4109
77 Tinydroid [1] 이광우 2009-06-16 2663
76 2009-05-27 구글 I/O 키노트 동영상 [6]+2 인베인 2009-05-28 2118
75 Dalvik Porting Guide [1]+2 인베인 2009-05-17 3981
74 android omap-2.6.29 공식 릴리즈 [3]+2 인베인 2009-05-06 3937
73 Next Android Platform을 위한 GPU [2] 인베인 2009-04-01 2675
72 안드로이드 Audio를 위한 EAS Ref. Manual (sonicvox) [2] 인베인 2009-03-31 3427
71 Cupcake브랜치 머지 소식입니다 [10] 인베인 2009-03-16 2753
70 미디어 I/O 개발자 가이드- 오픈코어 2.02(R1) [1] 인베인 2009-03-16 3936
69 Extended UI for GWT(Google Web Toolkit) 불타는주작 2009-03-02 1444
68 OpenCore버젼 2.1으로 업데이트 [11] 인베인 2009-02-28 4710
67    Re..opencore 2.1's New Features 인베인 2009-03-04 2155
66 Android에 OSS 포팅하기 [4] gana쪼꼬렛 2009-02-06 4376
65 Goldfish(2.6.27)용 커널소스 다운로드 [5]+1 인베인 2009-01-28 3521
64 안드로이드용 파이썬 제작하기 [2] 인베인 2009-01-13 2472
1234567