@ GwtIncompatible // java.lang.reflect @ NullableDecl private static Object getJLA ( ) { try { /* * We load sun.misc.* classes using reflection since Android doesn't support these classes and * would result in compilation failure if we directly refer to these classes. */ Class < ? > sharedSecrets = Class . forName ( SHARED_SECRETS_CLASSNAME , false , null ) ; Method langAccess = sharedSecrets . getMethod ( "getJavaLangAccess" ) ; return langAccess . invoke ( null ) ; } catch ( ThreadDeath death ) { throw death ; } catch ( Throwable t ) { /* * This is not one of AppEngine's allowed classes, so even in Sun JDKs, this can fail with * a NoClassDefFoundError. Other apps might deny access to sun.misc packages. */ return null ; } }
Returns the JavaLangAccess class that is present in all Sun JDKs . It is not allowed in AppEngine and not present in non - Sun JDKs .