Convert audio HAL service mk to bp and rename the service
The service supports multiple versions and its name should not be version dependant. For backward compatibility, keep the target name android.hardware.audio@2.0-service (32bit only), existing PRODUCT_PACKAGES do not have to be updated. New products should depend on android.hardware.audio.service:32. Additionally migrate to Android.bp, dropping support for AUDIOSERVER_MULTILIB. Previously the HAL service architecture (32 vs 64) would be the same as the audio server. This in not wanted as all android audio HAL are 32 bits. Bug: 121208203 Test: # Compare following commands before and after patch: find $ANDROID_PRODUCT_OUT/vendor -name 'android.hardware.audio*'|xargs file adb shell reboot # check device boots to UI and # check the HAL restarts after the audioserver is killed adb shell ps |grep audio; adb shell killall audioserver; adb shell ps Change-Id: I25f41735175a6687a051ca1e5a7fee670eb8115e Merged-In: I25f41735175a6687a051ca1e5a7fee670eb8115e Signed-off-by: Kevin Rocard <krocard@google.com>
This commit is contained in:
parent
350ce29826
commit
ad17f58e50
4 changed files with 50 additions and 64 deletions
|
@ -80,6 +80,7 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/vndk-Q/android.hardwar
|
|||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/android.hardware.configstore@1.2.so)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk-Q/android.hardware.configstore@1.2.so)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/android.hardware.configstore@1.2.so)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/etc/init/android.hardware.audio@2.0-service.rc $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.audio@2.0-service)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.cas@1.1*)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.cas@1.1*)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.cas@1.1*)
|
||||
|
|
48
audio/common/all-versions/default/service/Android.bp
Normal file
48
audio/common/all-versions/default/service/Android.bp
Normal file
|
@ -0,0 +1,48 @@
|
|||
cc_binary {
|
||||
name: "android.hardware.audio.service",
|
||||
|
||||
init_rc: ["android.hardware.audio.service.rc"],
|
||||
relative_install_path: "hw",
|
||||
vendor: true,
|
||||
// Only support 32 bit as the binary must always be installed at the same
|
||||
// location for init to start it and the build system does not support
|
||||
// having two binaries installable to the same location even if they are
|
||||
// not installed in the same build.
|
||||
compile_multilib: "32",
|
||||
srcs: ["service.cpp"],
|
||||
|
||||
cflags: [
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Werror",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"libcutils",
|
||||
"libbinder",
|
||||
"libhidlbase",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libhardware",
|
||||
"android.hardware.audio@2.0",
|
||||
"android.hardware.audio@4.0",
|
||||
"android.hardware.audio@5.0",
|
||||
"android.hardware.audio.common@2.0",
|
||||
"android.hardware.audio.common@4.0",
|
||||
"android.hardware.audio.common@5.0",
|
||||
"android.hardware.audio.effect@2.0",
|
||||
"android.hardware.audio.effect@4.0",
|
||||
"android.hardware.audio.effect@5.0",
|
||||
"android.hardware.bluetooth.a2dp@1.0",
|
||||
"android.hardware.bluetooth.audio@2.0",
|
||||
"android.hardware.soundtrigger@2.0",
|
||||
"android.hardware.soundtrigger@2.1",
|
||||
"android.hardware.soundtrigger@2.2",
|
||||
],
|
||||
}
|
||||
|
||||
// Legacy service name, use android.hardware.audio.service instead
|
||||
phony {
|
||||
name: "android.hardware.audio@2.0-service",
|
||||
required: ["android.hardware.audio.service"],
|
||||
}
|
|
@ -1,63 +0,0 @@
|
|||
#
|
||||
# Copyright (C) 2016 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
#
|
||||
# Service
|
||||
#
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.audio@2.0-service
|
||||
LOCAL_INIT_RC := android.hardware.audio@2.0-service.rc
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
LOCAL_SRC_FILES := \
|
||||
service.cpp
|
||||
|
||||
LOCAL_CFLAGS := -Wall -Werror
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libcutils \
|
||||
libbinder \
|
||||
libhidlbase \
|
||||
liblog \
|
||||
libutils \
|
||||
libhardware \
|
||||
android.hardware.audio@2.0 \
|
||||
android.hardware.audio@4.0 \
|
||||
android.hardware.audio@5.0 \
|
||||
android.hardware.audio.common@2.0 \
|
||||
android.hardware.audio.common@4.0 \
|
||||
android.hardware.audio.common@5.0 \
|
||||
android.hardware.audio.effect@2.0 \
|
||||
android.hardware.audio.effect@4.0 \
|
||||
android.hardware.audio.effect@5.0 \
|
||||
android.hardware.bluetooth.a2dp@1.0 \
|
||||
android.hardware.bluetooth.audio@2.0 \
|
||||
android.hardware.soundtrigger@2.0 \
|
||||
android.hardware.soundtrigger@2.1 \
|
||||
android.hardware.soundtrigger@2.2
|
||||
|
||||
# Can not switch to Android.bp until AUDIOSERVER_MULTILIB
|
||||
# is deprecated as build config variable are not supported
|
||||
ifeq ($(strip $(AUDIOSERVER_MULTILIB)),)
|
||||
LOCAL_MULTILIB := 32
|
||||
else
|
||||
LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
|
||||
endif
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
|
@ -1,4 +1,4 @@
|
|||
service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service
|
||||
service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
|
||||
class hal
|
||||
user audioserver
|
||||
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
|
Loading…
Reference in a new issue