Android: Ändern des privaten statischen Endfelds mithilfe der Java-Reflexion

Ändern Sie das private statische Endfeld mithilfe von Java Reflection

Ich habe die Anweisungen im obigen Link befolgt, um ein privates statisches Endfeld mithilfe von Java Reflection zu ändern. Ich habe ein Objekt mit dem Namen "data". In "data" befindet sich eine private statische Endvariable mit dem Namen "type". Ich möchte "Typ" auf Null setzen. Hier ist mein Code.

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);

Ich habe versucht, dies auf Java 1.7 mit ähnlichem Code zu tun, und es hat funktioniert. Das Ausführen dieses Codes unter Android erzeugt jedoch den folgenden Fehler:java.lang.NoSuchFieldException: Modifikatoren

Ich denke, "Modifikatoren" ist kein Feld in der Field-Klasse auf Android.

Wie behebe ich das?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage