У меня особый случай использования: я зависим от библиотеки SDK с закрытым исходным кодом, которая работает со сторонним приложением Android.
Все работает хорошо до того момента, когда сторонняя служба становитсяабсолютно не отвечает : мое приложение больше не может получать данные, официальное стороннее приложение тоже.Единственный способ восстановить правильное выполнение, которое я смог найти, - это убить стороннюю службу (настройки Android → Приложение → Стороннее приложение → Принудительная остановка).
Поэтому у меня есть два решения:
- Требовать root привилегий для возможности уничтожения стороннего приложения
- Найти способ программно завершить работу сторонней службы
Я пытался поиграть с самоанализом и отражением, чтобы установить для некоторых приватных полей значение NULL в надежде вызвать NPE, но безуспешно. Есть ли какой-нибудь общий способ, которым я мог бы аварийно завершить работу библиотеки? Может быть, какая-то инъекция кода через отражение?