I want to set "NO_CACHE" to be newValue. Here is my code:
static void setFinalStatic(Object newValue) throws Exception { Field field = CacheManager.class.getDeclaredField("NO_CACHE"); field.setAccessible(true); Field modifiersField=Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field,field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); } But running this code on Android produces the following error: java.lang.NoSuchFieldException: modifiers
I find "modifiers" is a field in the Field class on JAVA, but it is not a field in the Field class on Android.
This is JAVA Field class code:
http://www.docjar.com/html/api/java/lang/reflect/Field.java.html
This is Android Field class code:
http://www.oschina.net/code/explore/android-2.2-froyo/java/lang/reflect/Field.java
The above code in JAVA can work, but it does not work on the Android platform.
How do I fix this?