Nyashkoshkko
@Nyashkoshkko

Какой путь вызова функций от верхней java-абстракции к ядру Linux в Android?

На верхнем уровне в ОС Android есть класс взаимодействия с устройствами ввода android.view.InputDevice.

Необходимо проследить весь путь вызова функций от него до устройства уровня ядра Linux вида /dev/input/устройство.

Насколько я понял, класс InputDevice вызывает InputManager, который через заголовочный файл вызывает сервис InputManagerService, который опять вызывает InputDevice. И в нем написано:
// Called by native code.
    private InputDevice(int id, int generation, int controllerNumber, String name, int vendorId,
            int productId, String descriptor, boolean isExternal, int sources, int keyboardType,
            KeyCharacterMap keyCharacterMap, boolean hasVibrator, boolean hasButtonUnderPad) {

Правильно ли я понимаю, что какой-то сервис уровня Linux (т.е. не Java) создает каким-то механизмом экземпляры java-классов таким хитрым вызовом?

Если да, то где в исходнике именно это происходит?
Если я ошибаюсь, то какой правильный путь вызова функций от верхнего уровня до нижнего?

Ответ нужен для небольшого исследования в рамках написания статьи на хабр.
  • Вопрос задан
  • 3987 просмотров
Решения вопроса 1
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы