Как создать поставщика hal в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как создать поставщика hal в Android

Сообщение Anonymous »

У меня есть собственный HAL AIDL и собственный клиент, который подключается к этому HAL следующим образом:

Код: Выделить всё

binder = ServiceManager.getService("my.custom.hal.ICustomThing/default");
Это работало хорошо, когда это был «системный HAL», но я хочу сделать это более правильно и сделать его «HAL поставщика».
Вот почему в обоих Android.bp файлы (aidl_interface и клиент) я пометил их vendor: true.
Затем у меня возникла проблема со сборкой в ​​клиенте:

Код: Выделить всё

sdk_version must have a value when the module is located at vendor
я установил sdk_version, и на этот раз у меня возникла проблема:

Код: Выделить всё

This module has conflicting settings. sdk_version is not empty, which means this module cannot use platform APIs
поэтому я удалил platform_apis: true из Android.bp клиента, и на этот раз у меня возникла проблема:

Код: Выделить всё

error: cannot find symbol import android.os.ServiceManager;
потому что ServiceManager помечен аннотацией @hide.
На мой взгляд, это похоже на порочный круг. vendor: true требует sdk_version, который нельзя установить с помощью platform_apis, который мне нужен для доступа к HAL через getService. Я что-то упустил?

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»