Estoy trabajando en una aplicación que utiliza ActionBarSherlock. Ya que es documentation señala:Compilando con Android 4.X pero admitiendo API Nivel 9
[...] la biblioteca requiere que tanto ella como su proyecto se compilado con Android 4.0 o posterior. El proyecto también requiere que esté compilando con JDK 1.6 en su editor y en cualquier sistema de compilación que pueda estar utilizando.
lo tanto, eso significa que voy a compilar mi aplicación (y la biblioteca) en contra de Android 4.x pero en mi Manifiesto, declaro que estoy de orientación (por ejemplo) Nivel API 9.
Este todo funciona bien y bien, pero hay algo que me molesta. Desde el FAQ:
¿Qué nivel de API debería apuntar en mi manifiesta cuando se utiliza la biblioteca?
Se requiere la API de destino de nivel 11 o posterior, ya que hará que Android agregue automáticamente la barra de acción nativa cuando se ejecute en dispositivos más nuevos. Dado que compilará nuevas API pero su aplicación probablemente se ejecutará en los dispositivos con versiones anteriores de Android , debe tener cuidado adicional para evitar el uso o verificar correctamente y llamar a los métodos que se introdujeron después de su SDK mínimo versión.
Eso significa, que tendrá que comprobar manualmente cada llamada de método, por lo que no uso ninguna que no están disponibles en mi objetivo de nivel API (9 en mi caso)? Esto me suena mal.
¿Hay alguna manera de decirle a mi IDE (IntelliJ), que solo estoy usando el API Level 9 (por lo que no obtengo ningún autocompletado para métodos/clases no existentes y no los uso? por accidente) y luego optar por compilar contra otra versión de Android?
¿O puedo usar algunas comprobaciones automáticas (que se ejecutan en tiempo de compilación) para verificarlo?
Este sería el enfoque * manual *. –
Oh, pensé que te referías al manual buscando cada llamada y verificando. No creo que haga lo que quieres automáticamente. Esa es una buena idea para una futura actualización de ADT, pero no creo que esté disponible actualmente. ¡Pero no estoy seguro! –