Android: изменение частного статического финального поля с использованием java отражения

Изменить частное статическое конечное поле с помощью отражения Java

Я следовал инструкциям, приведенным в ссылке выше, чтобы изменить частное статическое конечное поле, используя отражение Java. У меня есть объект с именем & quot; данные. & Quot; Внутри & quot; данные & quot; есть частная статическая конечная переменная с именем & quot; тип. & quot; Я хочу установить & quot; тип & quot; быть нулевым. Вот мой код

Field field = data.getClass().getDeclaredField("type");
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(data, null);

Я попытался сделать это на Java 1.7 с похожим кодом, и это сработало. Но запуск этого кода на Android приводит к следующей ошибке: java.lang.NoSuchFieldException: modifiers

Я думаю, "модификаторы" не является полем в классе Field в Android.

Как это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос