Утро, люди!Как получить информацию о дисплее на устройстве Android на Android
Я портирую настольное приложение OpenGL C++ для Android. Это приложение уже довольно кросс-платформенное. Он требует надежного рендеринга на всех платформах, поэтому он учитывает различия в реализации графических драйверов, позволяя или отключая определенные пути кода на основе ОС хоста и данных PCI на карте. В частности, он переключает идентификаторы устройства, поставщика и ревизии.
Мне нужно получить эти идентификаторы PCI из Android.
Я бы предпочел сделать это программно из собственного кода, но путь JNI или даже синтаксический вывод внешней команды являются разумными альтернативами.
Я искал вокруг, но я не могу найти ничего надежного. Любой поиск в Google, с которым я могу столкнуться, включает Android и PCI или ID, даже с тонкой фильтрацией, возвращает идентификатор Android-устройства, базу данных или список всех известных идентификаторов устройств PCI или Совет стандартов безопасности PCI. Ничего о фактических PCI-заголовках. Может быть, мне просто нужно больше google-fu?
На Android нет lspci. Я вижу, что в adb-оболочке нет доступной файловой системы/sys и/proc/bus/pci/devices пуст. Самый близкий, который я видел, это/proc/device-tree/nvidia-boardids на Tegra, который печатает довольно загадочную строку, в которой я уверен, содержит эти идентификаторы. Это, вероятно, будет работать на устройствах, которые имеют это, но это только подмножество устройств, на которых работают карты nVidia.
В качестве последнего средства мы, вероятно, можем использовать информацию, которая возвращается из glGetString, но это намного больше, чем идентификаторы PCI. Я бы предпочел избежать этого маршрута.
Это приложение предназначено для распространения в Google Play, поэтому я абсолютно не могу укрепить эти устройства.
Любые идеи?
Спасибо!
дает мне следующую ошибку во время выполнения: ' FATAL EXCEPTION: main Процесс: com.example.me.antennas, PID: 21831 java.lang.NullPointerException: попытка вызвать interfac e method 'java.util.Iterator java.util.List.iterator()' в ссылке нулевого объекта' в 'for (CellInfo m: cellInfo)'. – JohnnyFromBF