here is how I ported alsa and there is still mistakes
1:git alsa_sound
$git clone git://android.git.kernel.org/platform/hardware/alsa_sound.git
2:mv alsa_sound libaudio-alsa
3: I copied the file AudioHardware* from framework/base/libs/audioflinger to 
hardware/libaudio-alsa
4: revise Android.mk under folder libaudio-alsa
=============================
ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true)

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

  LOCAL_ARM_MODE := arm
  LOCAL_CFLAGS = -fno-short-enums
#  LOCAL_WHOLE_STATIC_LIBRARIES := libasound
  LOCAL_C_INCLUDES += external/alsa-lib/include
  LOCAL_SRC_FILES := \
    AudioHardwareInterface.cpp \
    AudioHardwareStub.cpp \
    AudioHardwareALSA.cpp

  LOCAL_MODULE := libaudio

  LOCAL_SHARED_LIBRARIES := \
    libcutils \
    libutils \
    libmedia \
    libhardware_legacy \
    libdl \
    libc  \
    libasound

  include $(BUILD_SHARED_LIBRARY)

endif
=========================
5.revise build/target/board/generic/BoardConfig.mk

BOARD_USES_ALSA_AUDIO := true
#BOARD_USES_GENERIC_AUDIO := true
6. cd /opt/mydroid/build/core
$ vim prelink-linux-arm.map

 add libasound.so            0xA9200000

and the make error:

 target arm C++: libaudio <= hardware/libaudio-alsa/AudioHardwareALSA.cpp
target SharedLib: libaudio 
(out/target/product/generic/obj/SHARED_LIBRARIES/libaudio_intermediates/LINKED/libaudio.so)
out/target/product/generic/obj/SHARED_LIBRARIES/libaudio_intermediates/AudioHardwareInterface.o:在函数‘android::AudioHardwareInterface::create()’中:
hardware/libaudio-alsa/AudioHardwareInterface.cpp:102:对‘android::AudioHardwareGeneric::AudioHardwareGeneric()’未定义的引用
collect2: ld returned 1 exit status
make: *** 
[out/target/product/generic/obj/SHARED_LIBRARIES/libaudio_intermediates/LINKED/libaudio.so]
 错误 1


--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to