Versión compilada vs. Versión mínima requerida Android
En mi vista personalizada estoy usando el método drawTextOnPath(...)
que no es compatible con aceleración de hardware hasta 4.1.
Así que quería añadir una instrucción if
que comprueba la versión actual de Android en tiempo de ejecución y activa la aceleración de hardware si esta versión es mayor o igual a 4.1. Mi problema es que compilar mi proyecto con Android 4.0 SDK (que es mi versión mínima), así que no tengo el Build.VERSION_CODES
para Android 4.1.
- Comportamiento extraño de una actividad en diferentes versiones de Android: el mapa parpadea
- Android - setStatusBarColor () NoSuchMethodError excepción
- ¿Equivalente de NavUtils cuando no está usando la biblioteca de soporte de Android?
- ¿Cómo debo usar / no usar métodos obsoletos en Android
- ¿Google Play envía notificación de actualización a Beta Testers?
¿Debería compilar mi proyecto con 4.1, aunque mi versión mínima es 4.0?
- ActionBar pre Honeycomb
- Cómo hacer android: versionName en AndroidManifest.xml cambiado automáticamente en eclipse?
- Android - Cómo utilizar diferentes líneas de código dependiendo de la versión de Android
- Versión de la aplicación de Android: versión de Min SDK
- Google Analytics recoge un número de versión incorrecto para mi aplicación para Android
- AsyncTask.doInBackground no se llama en 2.3, trabajando en 4.0+
- El atributo de relleno de EditText no funciona para API 21 y 22
- ¿Descubre la versión de Android en AOSP en tiempo de compilación de código nativo?
Lo escribí una vez: Sistema de orientación de Android
Piezas importantes:
Cuando compila una aplicación Java con un compilador Java 7, no puede utilizarlo con un intérprete de Java 6. El intérprete le dirá que no puede interpretar el código de byte producido, incluso si no está usando ninguna característica de lenguaje Java 7. Si desea compilar con el compilador más reciente, pero hacer que su código de bytes pueda ejecutarse en instancias más antiguas de JVM, deberá indicarle al compilador que lo haga (utilizando el indicador -target-flag).
En Android, puedes declarar qué versiones de plataforma soporta en tu archivo de manifiesto, usando el elemento
<uses-sdk>
y suandroid:minSdkVersion
yandroid:targetSdkVersion
-attributes. La diferencia entre esas "mecánicas de orientación" es que Android no se preocupa de qué versión de la plataforma se compiló la aplicación.Si declara que su aplicación es compatible con el Nivel 4 de API, Android lo instalará felizmente, incluso si lo ha compilado en Android 4.1 (Nivel API 16).
Así que en pocas palabras:
- Si desea que su aplicación funcione con la nueva plataforma Android, construya en contra.
- Use minSdkVersion para declarar el nivel de API más bajo que es compatible con su aplicación.
- Como targetSdkVersion, use el Nivel de API con el que ha compilado la aplicación.
- Utilice [Android] Lint para comprobar si hay (posiblemente) llamadas de API no compatibles.
- Utilice la ejecución condicional y la anotación @ TargetApi para utilizar API más nuevas cuando estén disponibles.
Cuando esté construyendo su aplicación con el SDK más reciente, tendrá todas las Build.VERSION_CODES
disponibles.
Sí, tienes que compilar contra 4.1 si usas las características de 4.1, aunque lo hagas condicionalmente, de lo contrario el compilador no podrá construir tu aplicación porque considerará todas las características 4.1 como inválidas (no existentes).
- Aumentar el tamaño de la cuota WebSQL en un WebView
- Diferencia entre onActivityResult y onComplete de Session.StatusCallback Facebook Android sdk3.0