использование System.load для загрузки библиотеки .so по указанному пути - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь загрузить библиотеку .so по указанному «разрешенному» пути:

/ data / data / my.package.name / mylibrary.so

Я знаю, что я не могу просто поместить свою библиотеку в / sdcard / в целях безопасности (и это нормально).

Я пытаюсь загрузить библиотеку с помощью:

System.load("/data/data/my.package.name/mylibrary.so");

Но по некоторым причинам я не могу понять, что мое приложение аварийно завершает работу с:

java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/data/my.package.name / mylibrary.so "не найден

При запуске приложения в Monitor я также могу прочитать:

avc: запрещено {read} для name =" mylibrary.so "dev = tmpfs ....... tclass = file permissive = 0

Это похоже на проблему SELinux.Я также проверил разрешение библиотеки в оболочке adb (из корневой оболочки), и они выглядят хорошо.

Я знаю, что с Android Nougat невозможно загрузить системную библиотеку, но это несистемная библиотека.

Могу ли я попробовать что-нибудь?

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...