Совместимость с Android для скомпилированных приложений NDK - PullRequest
0 голосов
/ 06 июня 2018

Вопрос может звучать очень глупо, но я не нашел никакого официального ответа, и эта ошибка https://github.com/android-ndk/ndk/issues/272 еще больше запутала меня.

Если я скомпилирую программу на C с помощью ndk с платформой версии27 это будет работать на старых версиях Android?

1 Ответ

0 голосов
/ 10 июля 2018

Нет.Уровень API NDK эквивалентен minSdkVersion: https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md#target-api-set-higher-than-device-api

Статическая версия библиотеки C может использоваться в исполняемом файле, но это вызовет проблемы, если она будет использоваться в приложении, поскольку libc уже была загруженаzygote, и у вас будут конфликтующие копии глобальных структур данных.

Обратите внимание, что даже при простом исполняемом файле статическое связывание libc может вызвать проблемы с сетью, поскольку libc делегирует некоторые аспекты этого netd, и этот протокол связи толькогарантированно работает, когда версия libc совпадает с версией netd.

...