Android - получите MEID от JNI

Я работаю в Android, пишу код JNI и ищу способ запросить идентификатор мобильного оборудования (MEID) с устройства.

http://en.wikipedia.org/wiki/Mobile_equipment_identifier

Я пытаюсь написать код на C или C ++, который может быть запущен на устройстве Android, поэтому я не думаю, что смогу использовать Java (т.е. получить MEID изTelephonyManager).

Поиск StackOverflow находит:Есть ли оболочка Android или команда adb, которую я мог бы использовать для получения IMEI / MEID устройства?

Ладно отличноdumpsys iphonesubinfo могу получить информацию мне нужно. И это работает!

Я не могу найти источник дляdumpsys кроме как часть источника для Android. Итак, я скачал это ... мой жесткий диск заполнился до окончания загрузки, но я получил исходный кодdumpsys, Это удивительно короткий файл C ++. Все, что он делает, это запрашивает AndroidIBinder интерфейс.

Итак, мои вопросы:

0) Есть ли способ написать запрос наIBinder используя только материал в NDK? Включаемые файлы, используемыеdumpsys.cpp не в НДК, аgrep в каталоге NDK не нашелIBinder в любых включаемых файлах или примерах кода, поэтому я предполагаю, что «нет» (но я бы хотел ошибаться).

1) Есть ли другой хороший способ получить MEID?

Я серьезно думаю, что я должен просто использоватьsystem("dumpsys iphonesubinfo > /tmp/myprogname_dumpsys.tmp" а затем откройте полученный файл и проанализируйте его. Это должно сработать, но я бы вряд ли назвал это элегантным ... и я не уверен, чтоdumpsys доступно на любом устройстве Android или нет.

РЕДАКТИРОВАТЬ: идея использованияsystem() бежатьdumpsys не будет работать, потому чтоdumpsys потребностиandroid.permission.DUMP и Android больше не позволяет несистемным приложениям иметь это разрешение.

Отказ в разрешении Dumpsys в Java

Ответы на вопрос(2)

Ваш ответ на вопрос