Я пытаюсь отследить ошибку в моей линии программного обеспечения. У меня есть две версии сборки версии 2.0.962 и 2.0.966. Единственная разница между этими версиями — это файл lib.so. Чтобы выяснить, с чего начать поиск в дереве исходных текстов lib.so, мне нужно знать номер его версии в каждой из сборок релиза.
Существует ли инструмент командной строки для печати версии общего объекта?
Я никогда не занимался нативным программированием для Android, но поскольку Android использует ядро Linux, используемый формат исполняемых файлов, скорее всего, будет «ELF». Что касается ELF, в файле нет информации о версии Shared объекта. Так что, если само имя файла не говорит что-то вроде "libXXX.VERSION.so"
, нет другого способа узнать номер версии общего объекта. Этот метод обычно используется в Linux.
Мои предложения по решению вашей проблемы:
Источник: http://man7.org/linux/man-pages/man5/elf.5.html
Примечание: E_VERSION в исполняемом файле — это версия формата ELF, а не исполняемого.