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.
Как это исправить?