Android N: как использовать системную библиотеку

В моем текущем коде до Android 6 (API-23) я смог открыть libjavacore.so
libcrypto.so а также libwebviewchromium.so с помощью dlopen() функция.
но в Android N доступ к закрытой библиотеке ограничен Google. Так что любой может помочь мне, как загрузить эти библиотеки.
Your app directly accesses private platform libraries. You should update your app to include its own copy of those libraries or use the public NDK APIs.

Как создать копию этой библиотеки?

3

Решение

Похоже, что нет способа обойти это правильно. В общем, вы должны написать свой собственный динамический компоновщик, который загружает необходимые библиотеки (или посмотреть на crazy_linker из НДК). Затем вы должны выполнить поиск символов вручную. Если библиотека уже загружена системой — вам нужна только последняя.

В любом случае такой подход хрупок и не гарантирует, что такие уловки не будут отключены в будущем. Поэтому лучше избегать использования частных библиотек и использовать вместо этого свои собственные версии или общедоступный API NDK.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]