Чтобы вызвать появление клавиатуры, используйте
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
Этот метод более надежен, чем прямой вызов InputMethodManager.
Чтобы закрыть его, используйте
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
Понятия «отладочная информация ELF» на самом деле не существует: спецификация ELF оставляет содержимое раздела .debug намеренно неопределенным.
Распространенными форматами отладки являются STAB и DWARF . Библиотека для чтения DWARF - это libdwarf .
Ваши варианты чтения DWARF информация об отладке, к сожалению, весьма ограничена.
Насколько мне известно, существует только одна библиотека общего назначения для анализа отладочной информации DWARF, и это libdwarf . К сожалению, никто не писал привязок Python для libdwarf (возможно, вы могли бы взять его на себя и поделиться со всеми :)) Вы, конечно, можете попытаться получить доступ к функциям библиотеки, используя ctypes или Python C API .
Однако гораздо менее элегантное решение состоит в том, чтобы использовать существующий синтаксический анализатор DWARF и анализировать текстовую информацию, которую он выводит. Ваши варианты для этого (в Linux):
objdump -W
readelf --debug-dump=[OPTIONS]
В настоящее время я использую проект, основанный на readelf, и он поддерживает отладочную информацию DWARF очень полнофункционально. Вы можете просто использовать Python для выполнения любой команды в оболочке, а затем проанализировать информацию по мере необходимости. Конечно, не так идеально, как библиотека, но должно помочь.
РЕДАКТИРОВАТЬ: Я заметил в предыдущем комментарии, что вы упомянули Windows.