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
-~----------~----~----~----~------~----~------~--~---