Как сделать изменения в классе из библиотеки если доступ закрыт?

412
19 февраля 2017, 09:15

Есть Библиотека и нужно в него добавить некоторые методы ...Как мне это Реализовать?Дохожу до класса а на нем стоит знак замочка ,просмотреть могу а изменить нет ...

Answer 1

Существует несколько способов.

Самый простой - поискать исходники данной библиотеки на гитхабе или связаться с разработчиком. Изменить что нужно в исходном коде и собрать библиотеку, опционально - сделать pull request.

Следующий по сложности вариант - отнаследоваться от нужного класса и переопределить нужный метод. Проблемы в том, что нужно будет создавать объект именно вашего класса (если он создаётся внутри библиотеки - плохо). Так же проблемы со статическими или финальными методами.

Самый сложный - полностью декомпилировать библиотеку и заменить нужный метод. Для декомпиляции существует множество программ (jd-gui, procyclon и так далее). Все они имеют свои особенности, метод требует аккуратности ну и с правовой стороной будьте аккуратны.

READ ALSO
Tess4j exeption

Tess4j exeption

Доброго времени суток! Пытаюсь реализовать пример использования Tess4j, столкнулся вот с таким исключением:

476
Как второй раз запустить поток?

Как второй раз запустить поток?

Дело в том что поток с первого раза корректно срабатывает и через цикл я останавливаю этот потокПотом через какое то время обратно запускаю...

434
Изменение TextView в Tabbed Activity в зависимости от даты

Изменение TextView в Tabbed Activity в зависимости от даты

Нужно, чтобы textView в фрагменте из Tabbed Acticity менялся в зависимости от даты в календаре, вот код этого окна: Tab1java

335
Передача массива изображений по сети

Передача массива изображений по сети

ЗдравствуйтеНеожиданно столкнулся с проблемой

325