Я создаю приложение для Android на сервере под управлением GNU/Linux, и aapt жалуется, что lib/libz.so.1 устарела:

/lib/libz.so.1: no version information available (required by .../aapt)

Я обнаружил проблему и пытаюсь жестко связать новую библиотеку zlib с aapt, чтобы она использовала обновленную библиотеку вместо старой libz.so.1 => libz.so.1.2.3 (потому что я хотел бы избегайте перенастройки всех программ, использующих существующий zlib). К сожалению, /lib и /aapt расположены на отдельных разделах жесткого диска.

Какой лучший способ обойти это? Есть ли простой способ просто заменить, от какой версии libz aapt зависит?

Спасибо

1 ответ1

1
  1. Самый простой вариант - поместить правильную версию библиотеки где-нибудь (где угодно, отдельно) и установить переменную среды LD_LIBRARY_PATH в этот каталог при выполнении aapt .

  2. Поместите правильную версию библиотеки где-то, как указано выше, но измените "rpath" двоичного aapt чтобы посмотреть там, используя chrpath . См. Https://stackoverflow.com/questions/13769141/can-i-change-rpath-in-an-already-compiled-binary для получения дополнительной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .