camera: switch external to apex

* Copy service definition from hardware/interfaces/camera/provider/default/.
This commit is contained in:
Konsta
2025-10-30 10:45:40 +02:00
parent a03e5177ad
commit 449a1e37a2
8 changed files with 61 additions and 10 deletions

34
camera/external/Android.bp vendored Normal file
View File

@@ -0,0 +1,34 @@
// Copyright (C) 2025 KonstaKANG
//
// SPDX-License-Identifier: Apache-2.0
prebuilt_etc {
name: "android.hardware.camera.provider-V1-external-service.rc",
src: "android.hardware.camera.provider-V1-external-service.rc",
installable: false,
}
prebuilt_etc {
name: "android.hardware.camera.provider-V1-external-service.xml",
src: "android.hardware.camera.provider-V1-external-service.xml",
sub_dir: "vintf",
installable: false,
}
apex {
name: "com.android.hardware.camera.external.rpi4",
manifest: "apex_manifest.json",
file_contexts: "apex_file_contexts",
key: "com.android.hardware.key",
certificate: ":com.android.hardware.certificate",
updatable: false,
vendor: true,
binaries: [
"android.hardware.camera.provider-V1-external-service",
],
prebuilts: [
"android.hardware.camera.provider-V1-external-service.rc",
"android.hardware.camera.provider-V1-external-service.xml",
],
}

View File

@@ -0,0 +1,8 @@
service vendor.camera.provider-ext /apex/com.android.hardware.camera.external.rpi4/bin/hw/android.hardware.camera.provider-V1-external-service
interface aidl android.hardware.camera.provider.ICameraProvider/external/0
class hal
user cameraserver
group audio camera input drmrpc usb
ioprio rt 4
capabilities SYS_NICE
task_profiles CameraServiceCapacity MaxPerformance

View File

@@ -0,0 +1,10 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.camera.provider</name>
<version>1</version>
<interface>
<name>ICameraProvider</name>
<instance>external/0</instance>
</interface>
</hal>
</manifest>

3
camera/external/apex_file_contexts vendored Normal file
View File

@@ -0,0 +1,3 @@
(/.*)? u:object_r:vendor_file:s0
/etc(/.*)? u:object_r:vendor_configs_file:s0
/bin/hw/android\.hardware\.camera\.provider-V1-external-service u:object_r:hal_camera_default_exec:s0

4
camera/external/apex_manifest.json vendored Normal file
View File

@@ -0,0 +1,4 @@
{
"name": "com.android.hardware.camera.external.rpi4",
"version": 1
}

View File

@@ -52,10 +52,10 @@ PRODUCT_COPY_FILES += \
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider-V1-external-service
com.android.hardware.camera.external.rpi4
PRODUCT_COPY_FILES += \
$(DEVICE_PATH)/camera/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
$(DEVICE_PATH)/camera/external/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.external.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.external.xml

View File

@@ -17,12 +17,4 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>android.hardware.camera.provider</name>
<version>1</version>
<interface>
<name>ICameraProvider</name>
<instance>external/0</instance>
</interface>
</hal>
</manifest>