Как программно аварийно завершить работу или остановить библиотеку Java / службу Android? - PullRequest
0 голосов
/ 13 сентября 2018

У меня особый случай использования: я зависим от библиотеки SDK с закрытым исходным кодом, которая работает со сторонним приложением Android.

Все работает хорошо до того момента, когда сторонняя служба становитсяабсолютно не отвечает : мое приложение больше не может получать данные, официальное стороннее приложение тоже.Единственный способ восстановить правильное выполнение, которое я смог найти, - это убить стороннюю службу (настройки Android → Приложение → Стороннее приложение → Принудительная остановка).

Поэтому у меня есть два решения:

  1. Требовать root привилегий для возможности уничтожения стороннего приложения
  2. Найти способ программно завершить работу сторонней службы

Я пытался поиграть с самоанализом и отражением, чтобы установить для некоторых приватных полей значение NULL в надежде вызвать NPE, но безуспешно. Есть ли какой-нибудь общий способ, которым я мог бы аварийно завершить работу библиотеки? Может быть, какая-то инъекция кода через отражение?

...