Android examples for Android OS:OS Build
whether OS is in dalvik runtime
//package com.java2s; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { /**//w w w. ja v a 2 s . co m * whether is in dalvik runtime */ public static boolean isDalvik() { return "Dalvik".equals(getCurrentRuntimeValue()); } /** * get current runtime * * @return Dalvik, ART, ART debug build */ public static String getCurrentRuntimeValue() { try { Class<?> systemProperties = Class .forName("android.os.SystemProperties"); try { Method get = systemProperties.getMethod("get", String.class, String.class); if (get == null) { return "WTF?!"; } try { final String value = (String) get.invoke( systemProperties, "persist.sys.dalvik.vm.lib", /* Assuming default is */ "Dalvik"); if ("libdvm.so".equals(value)) { return "Dalvik"; } else if ("libart.so".equals(value)) { return "ART"; } else if ("libartd.so".equals(value)) { return "ART debug build"; } return value; } catch (IllegalAccessException e) { return "IllegalAccessException"; } catch (IllegalArgumentException e) { return "IllegalArgumentException"; } catch (InvocationTargetException e) { return "InvocationTargetException"; } } catch (NoSuchMethodException e) { return "SystemProperties.get(String key, String def) method is not found"; } } catch (ClassNotFoundException e) { return "SystemProperties class is not found"; } } }