На предыдущей работе я использовал обфускатор Java, который, как и запутывание кода, также удалял классы и методы, которые не использовались. Если вы выполняли «Class.byName» или любой другой тип рефлексии, вам нужно было сообщить обфускатору, потому что он не мог определить, проверяя код, какие классы или методы вызваны рефлексией.
Проблема, конечно, в том, что вы не знаете, делают ли другие части сторонней библиотеки какое-либо отражение, и поэтому удаление «неиспользуемого» класса может привести к поломке вещей в неясном случае, который у вас нет. t проверено.