Вы, вероятно, можете сделать это, используя readelf --dynamic
, чтобы прочитать записи DT_NEEDED
и различить их, используя SONAME
для libc. В системе glibc у вас, скорее всего, будет libc.so.6
, хотя есть и другие библиотеки, например, musl. Libc, который использует Android, является Bionic, поэтому он, вероятно, будет другим.
Это не работает для статических двоичных файлов, таких как большинство двоичных файлов Go, но большинство людей не распространяют статические двоичные файлы для Android.
Для исполняемых файлов вы также можете прочитать заголовок PT_INTERP
, который сообщит вам, какой динамический компоновщик используется. Это должно отличаться в разных системах.