¿Cuál es la diferencia entre "min sdk, target sdk y compilar con"? En android

¿Cuál es la diferencia entre "min sdk, target sdk y compilar con" en android?

¿Cuál es la diferencia entre "sdk mínimo, target sdk y compilar con", que aparecen cuando intento hacer un nuevo proyecto de aplicación de android !! Me gusta esto ..

Minimun SDK: API 14 Target SDK: API 17 Compilar con: API 14

¿Y mis opciones son buenas? O ¿Cuáles debo elegir? Lo siento, traté de poner una foto, pero no puedo ..

"Esperando sus respuestas" plzzz = D!

Simplemente,

SDK mínimo: API 14

Hace referencia a que su aplicación sólo se ejecutará en el teléfono móvil con api nivel 14 es decir (ICS 4.0) o superior. Tu aplicación no se ejecutará en versiones anteriores de android como gingerbread & froyo.

SDK de destino: API 17

Se refiere a la versión de android que desea construir, que es Jellybean en su caso. Se recomienda mantener lo más actualizado posible, lo que es (api 20 Kitkat en el contexto actual).

Compilar con: API 14

Se refiere a la versión de andriod que está probando. Completar con api 14 significa que vas a probar tu aplicación en ICS.

También puedes ver este video:

https://www.youtube.com/watch?v=Sxo5zMcOCXM >

Android: minSdkVersion

Un número entero que designa el nivel mínimo de API necesario para que se ejecute la aplicación. El sistema Android evitará que el usuario instale la aplicación si el nivel de API del sistema es inferior al valor especificado en este atributo. Debe declarar siempre este atributo.

Android: targetSdkVersion

Un entero que designa el nivel de API que la aplicación apunta. Si no se establece, el valor predeterminado es igual al que se da a minSdkVersion. Este atributo informa al sistema que ha probado en relación con la versión de destino y el sistema no debe habilitar comportamientos de compatibilidad para mantener la compatibilidad directa de la aplicación con la versión de destino. La aplicación sigue siendo capaz de ejecutarse en versiones anteriores (hasta minSdkVersion).

A medida que Android evoluciona con cada nueva versión, algunos comportamientos e incluso apariciones pueden cambiar. Sin embargo, si el nivel de API de la plataforma es superior a la versión declarada por targetSdkVersion de su aplicación, el sistema puede habilitar comportamientos de compatibilidad para garantizar que su aplicación continúe funcionando de la manera que espera. Puede desactivar dichos comportamientos de compatibilidad especificando targetSdkVersion para que coincida con el nivel de API de la plataforma en la que se está ejecutando. Por ejemplo, al establecer este valor como "11" o superior, el sistema puede aplicar un nuevo tema predeterminado (Holo) a su aplicación cuando se ejecuta en Android 3.0 o superior y también deshabilita el modo de compatibilidad de pantalla cuando se ejecuta en pantallas más grandes (porque la compatibilidad con API El nivel 11 implica implícitamente pantallas más grandes).

Hay muchos comportamientos de compatibilidad que el sistema puede habilitar basados ​​en el valor que estableció para este atributo. Varios de estos comportamientos se describen en las versiones de plataforma correspondientes en la referencia Build.VERSION_CODES.

Para mantener su aplicación junto con cada versión de Android, debe aumentar el valor de este atributo para que coincida con el nivel de API más reciente y luego probar a fondo su aplicación en la versión de plataforma correspondiente. Introducido en: API Level 4

Android: maxSdkVersion

Un número entero que designa el nivel máximo de API en el que está diseñada la aplicación para ejecutarse. En Android 1.5, 1.6, 2.0 y 2.0.1, el sistema comprueba el valor de este atributo al instalar una aplicación y al volver a validar la aplicación después de una actualización del sistema. En ambos casos, si el atributo maxSdkVersion de la aplicación es inferior al nivel de API utilizado por el propio sistema, el sistema no permitirá que se instale la aplicación. En caso de volver a validar después de la actualización del sistema, esto elimina efectivamente su aplicación del dispositivo.

Por favor vea este enlace para más detalles

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

Tratando de mantener lo más simple posible, puedo explicar los tres términos de la siguiente manera:

Min SDK requerido: muestra el dispositivo con la versión mínima de Android que desea que su aplicación admita. Por ejemplo, si selecciona API 11: Honey Comb en la lista desplegable. Esto demostrará que su aplicación no soportará / no funcionará en ningún dispositivo android que tenga una versión de Android más baja que Honey Peine.

Target SDK: Esto siempre debe mantenerse lo más alto posible, ya que indica la versión android máxima que ha estado apuntando o probando su aplicación. Por lo tanto, si mantiene su minReqSDK >> 11 (honey comb) y targetSDK >> 21 (Lollipop), esto muestra que su aplicación se ejecutará en todas las versiones de Android de nido de abeja a Lollipop sin problemas de compatibilidad ya que ha establecido su objetivo SDK> > 21 Versión Lollipop.

Compilar con: Esto no tiene nada que ver con Android que soporta cualquier dispositivo. Puedes elegir cualquier versión de Android que hayas instalado usando tu gestor de SDK para compilar y ejecutar tu aplicación con fines de desarrollo.

En su caso: min sdk version: 14 target sdk: 17 compilar con: 14

Su dispositivo soportará todas las versiones de android con api nivel 14 (Ice Cream Sandwich) hasta api nivel 17 (Jelly Bean 4.2). Y ha estado utilizando api nivel 14 (ICS) para compilar y ejecutar su aplicación para el desarrollo.

Espero que esto ayude.

En resumen, aquí está el propósito de declarar un targetSDK diferente del minSDK: Significa que está utilizando características de un SDK de nivel superior a su mínimo, pero se ha asegurado la compatibilidad con versiones anteriores . En otras palabras, imagine que desea utilizar una función que sólo se introdujo recientemente, pero eso no es crítico para su aplicación. A continuación, establezca el targetSDK en la versión en la que se introdujo esta nueva característica y el mínimo en algo inferior para que todos puedan seguir utilizando su aplicación.

Para dar un ejemplo, supongamos que está escribiendo una aplicación que hace un uso extensivo de la detección de gestos. Sin embargo, cada comando que puede ser reconocido por un gesto también se puede hacer con un botón o desde el menú. En este caso, los gestos son un "extra fresco" pero no son necesarios. Por lo tanto, establecería el sdk objetivo en 7 ("Eclair" cuando se introdujera la biblioteca GestureDetection) y el mínimo en el nivel 3 ("Cupcake") para que incluso las personas con teléfonos antiguos pudieran usar su aplicación. Todo lo que tendría que hacer es asegurarse de que su aplicación compruebe la versión de Android en la que se estaba ejecutando antes de intentar utilizar la biblioteca de gestos, para evitar tratar de usarla si no existía. (Es cierto que este es un ejemplo anticuado ya que casi nadie todavía tiene un teléfono v1.5, pero hubo un momento en el que mantener la compatibilidad con v1.5 era realmente importante).

Para dar otro ejemplo, puedes usarlo si quieres usar una función de Gingerbread o Honeycomb. Algunas personas obtendrán las actualizaciones pronto, pero muchas otras, particularmente con hardware más antiguo, podrían quedarse atascadas con Eclair hasta que compran un nuevo dispositivo. Esto le permitirá utilizar algunas de las nuevas características, pero sin excluir parte de su posible mercado.

Hay un artículo realmente bueno del blog del desarrollador de Android acerca de cómo usar esta característica y, en particular, cómo diseñar el código "comprobar que la característica existe antes de usarlo" que mencioné anteriormente.

Para el OP: He escrito esto principalmente para el beneficio de cualquier persona que pasa a tropezar en esta cuestión en el futuro, como me doy cuenta de que su pregunta fue hecha hace mucho tiempo. Aquí está el correo

Android: minSdkVersion Un número entero que designa el nivel mínimo de API necesario para que la aplicación se ejecute. El sistema Android evitará que el usuario instale la aplicación si el nivel de API del sistema es inferior al valor especificado en este atributo. Debe declarar siempre este atributo. Precaución: Si no declara este atributo, el sistema asume un valor predeterminado de "1", lo que indica que su aplicación es compatible con todas las versiones de Android. Si su aplicación no es compatible con todas las versiones (por ejemplo, utiliza APIs introducidas en API Level 3) y no ha declarado la minSdkVersion adecuada, entonces cuando se instala en un sistema con un nivel API inferior a 3, la aplicación se bloqueará durante Tiempo de ejecución al intentar acceder a las API no disponibles. Por esta razón, asegúrese de declarar el nivel API apropiado en el atributo minSdkVersion.

Android: targetSdkVersion Un número entero que designa el nivel de API al que apunta la aplicación. Si no se establece, el valor predeterminado es igual al que se da a minSdkVersion. Este atributo informa al sistema que ha probado en relación con la versión de destino y el sistema no debe habilitar comportamientos de compatibilidad para mantener la compatibilidad directa de la aplicación con la versión de destino. La aplicación sigue siendo capaz de ejecutarse en versiones anteriores (hasta minSdkVersion).

A medida que Android evoluciona con cada nueva versión, algunos comportamientos e incluso apariciones pueden cambiar. Sin embargo, si el nivel de API de la plataforma es superior a la versión declarada por targetSdkVersion de su aplicación, el sistema puede habilitar comportamientos de compatibilidad para garantizar que su aplicación continúe funcionando de la manera que espera. Puede desactivar dichos comportamientos de compatibilidad especificando targetSdkVersion para que coincida con el nivel de API de la plataforma en la que se está ejecutando. Por ejemplo, al establecer este valor como "11" o superior, el sistema puede aplicar un nuevo tema predeterminado (Holo) a su aplicación cuando se ejecuta en Android 3.0 o superior y también deshabilita el modo de compatibilidad de pantalla cuando se ejecuta en pantallas más grandes (porque la compatibilidad con API El nivel 11 implica implícitamente pantallas más grandes).

Hay muchos comportamientos de compatibilidad que el sistema puede habilitar basados ​​en el valor que estableció para este atributo. Varios de estos comportamientos se describen en las versiones de plataforma correspondientes en la referencia Build.VERSION_CODES.

Para mantener su aplicación junto con cada versión de Android, debe aumentar el valor de este atributo para que coincida con el nivel de API más reciente y luego probar a fondo su aplicación en la versión de plataforma correspondiente.

Introducido en: API Level 4

Android: maxSdkVersion Un número entero que designa el máximo nivel API en el que está diseñada la aplicación para ejecutarse. En Android 1.5, 1.6, 2.0 y 2.0.1, el sistema comprueba el valor de este atributo al instalar una aplicación y al volver a validar la aplicación después de una actualización del sistema. En ambos casos, si el atributo maxSdkVersion de la aplicación es inferior al nivel de API utilizado por el propio sistema, el sistema no permitirá que se instale la aplicación. En caso de volver a validar después de la actualización del sistema, esto elimina efectivamente su aplicación del dispositivo.

Para ilustrar cómo este atributo puede afectar su aplicación después de las actualizaciones del sistema, considere el siguiente ejemplo:

Una aplicación que declare maxSdkVersion = "5" en su manifiesto se publica en Google Play. Un usuario cuyo dispositivo ejecuta Android 1.6 (Nivel de API 4) descarga e instala la aplicación. Después de unas semanas, el usuario recibe una actualización del sistema over-the-air a Android 2.0 (API Nivel 5). Una vez instalada la actualización, el sistema verifica la maxSdkVersion de la aplicación y la vuelve a validar con éxito. La aplicación funciona como normal. Sin embargo, algún tiempo después, el dispositivo recibe otra actualización del sistema, esta vez a Android 2.0.1 (API Nivel 6). Después de la actualización, el sistema ya no puede volver a validar la aplicación porque el propio nivel de API del sistema (6) es ahora más alto que el máximo admitido por la aplicación (5). El sistema evita que la aplicación sea visible para el usuario, eliminándolo en efecto del dispositivo.

Advertencia: No se recomienda declarar este atributo. En primer lugar, no es necesario establecer el atributo como medio para bloquear la implementación de la aplicación en las nuevas versiones de la plataforma Android a medida que se publican. Por diseño, las nuevas versiones de la plataforma son totalmente retrocompatibles. Su aplicación debería funcionar correctamente en versiones nuevas, siempre que use sólo API estándar y siga las mejores prácticas de desarrollo. En segundo lugar, tenga en cuenta que en algunos casos, declarar el atributo puede resultar en que su aplicación se elimine de los dispositivos de los usuarios después de una actualización del sistema a un nivel API superior. La mayoría de los dispositivos en los que es probable que la aplicación esté instalada recibirán actualizaciones periódicas del sistema por aire, por lo que debería considerar su efecto en la aplicación antes de configurar este atributo.

Introducido en: API Level 4

Las futuras versiones de Android (más allá de Android 2.0.1) ya no verán ni aplicarán el atributo maxSdkVersion durante la instalación o la revalidación. Sin embargo, Google Play seguirá utilizando el atributo como filtro al presentar a los usuarios las aplicaciones disponibles para descargar.

Vea más sobre esto, haga clic aquí: use sdk

  • No puedo ver Android SDK javadoc en Eclipse
  • ¿Cómo entrar en el código fuente de Android OS al depurar?
  • Emulador de Android Ubuntu 14.04 no se pudo crear la ventana SDL2 GLX no compatible
  • ¿Cómo depurar correctamente Java (Android) usando Eclipse?
  • El contenedor 'Android Dependencies' hace referencia a una biblioteca no existente 'facebook-android-sdk \ facebook \ bin \ com_facebook_android.jar'
  • Cómo utilizar archivos vinculados en Eclipse para el proyecto PhoneGap con Android
  • Cómo pasar el doble valor a una vista de texto en Android
  • Cómo utilizar Eclipse Memory Analyzer Tool (MAT) para analizar un hashmap
  • OpenGL 2.0 o superior con la extensión FBO es obligatorio LibGDX Error
  • Error false de Eclipse: La función '__android_log_print' no pudo ser resuelta (Android, CDT)
  • Añadir scroll en tabhost en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.