2009-12-10 15 views
68

¿Cómo puedo obtener la versión actual Android SDK (1.5, 1.6, 2.0, etc.) programáticamente?¿Cómo recuperar la versión sdk de Android?

+2

¿Se refiere a la versión del sistema operativo? – jball

+2

Por favor, edite el título de su pregunta. Me gusta "Recuperar la versión sdk de Android" – OneWorld

+0

Me gustaría la respuesta a esto también. No estoy en el punto donde puedo ejecutar pruebas, así que no puedo imprimir constantes. Lo descargué hace aproximadamente un mes y no puedo encontrar el número de versión. – Adamantus

Respuesta

101

La cadena Build.VERSION.RELEASE le dará la cadena de versión visible para el usuario (es decir, 1.5, 1.6, 2.0), mientras que Build.VERSION.SDK_INT le dará un valor de Build.VERSION_CODES que sería mejor usar si se desea comparar contra ella mediante programación.

+25

Tenga en cuenta que Build.VERSION.SDK_INT solo está disponible para Android 1.6 y versiones posteriores. Build.VERSION.SDK funcionará en todas las versiones de Android, incluida la 1.5. Sin embargo, una vez que elija dejar 1.5 soporte, cambiar a SDK_INT es una buena idea. – CommonsWare

+2

Cadena readAbleAndroidVersion = android.os.Build.VERSION.RELEASE; – cV2

+0

La libreria de compatibilidad de ActionBar usa la constante Build.VERSION_CODES.ICE_CREAM_SANDWICH y no se cuelga en el emulador 1.6. ¿Cómo puede pasar esto? – jakk

24
StringBuffer buf = new StringBuffer(); 

    buf.append("VERSION.RELEASE {"+Build.VERSION.RELEASE+"}"); 
    buf.append("\\nVERSION.INCREMENTAL {"+Build.VERSION.INCREMENTAL+"}"); 
    buf.append("\\nVERSION.SDK {"+Build.VERSION.SDK+"}"); 
    buf.append("\\nBOARD {"+Build.BOARD+"}"); 
    buf.append("\\nBRAND {"+Build.BRAND+"}"); 
    buf.append("\\nDEVICE {"+Build.DEVICE+"}"); 
    buf.append("\\nFINGERPRINT {"+Build.FINGERPRINT+"}"); 
    buf.append("\\nHOST {"+Build.HOST+"}"); 
    buf.append("\\nID {"+Build.ID+"}"); 

    Log.d("build",buf.toString()); 
+1

Awesome answer bro .... –

Cuestiones relacionadas