2010-01-12 11 views
6

Quiero lanzar una aplicación en el mercado. No utiliza nada nuevo de la versión 2.0 como bluetooth, por ejemplo, y funciona bien en todos los emuladores que utilizan la versión 1.6 a 2.1.qué versión sdk de Android lanzar al mercado?

Mi pregunta es sobre la versión del sdk ¿debo distribuir mi aplicación para que sea compatible con todos los dispositivos con 1.6, 2.0 o 2.1?

sólo tengo un dispositivo físico que ejecuta 1.6 para probarlo, pero como digo, se utiliza nada de lujos, y funciona bien en los emuladores que utilizan la API de niveles 4, 5, 6 o 7.

Gracias

Respuesta

8

Las respuestas aquí son buenos, pero aquí hay algunas sugerencias más:

  • no configure android:maxSdkVersion a menos que esté absolutamente seguro de que lo necesita.
  • establecen android:minSdkVersion a 3 para que los dispositivos de Cupcake puedan ejecutarlo.
  • configure android:targetSdkVersion en 4 para indicar que la aplicación ha sido probada en Donut.

Tu aplicación debería funcionar bien en todos> = Cupcake dispositivos. Si tiene planes para proporcionar recursos de alta densidad para pantallas de alta densidad (Droid, Nexus One), hay un poco más de trabajo que debe hacer. Sería mejor comenzar otro hilo para esto, pero para resumir, pondría los recursos de alta densidad en una carpeta llamada drawable-hdpi-v4.

Asegúrese de consultar el documento uses-sdk.

2

Si su aplicación no tiene nada de lujoso, no usa nada que haya sido desaprobado/cambiado/agregado entre estas versiones y funciona en los respectivos emuladores, entonces debería estar bien.

Limítelo a 2.1 como límite superior usando android:maxSdkVersion="7" —, siempre puede actualizar a medida que sale el próximo SDK.

+5

Considere el uso de android: maxSdkVersion con cuidado, probablemente no debería usarlo. Si está configurado, asegúrese de haber leído la advertencia en el documento: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max – James

+2

De verdad, solo don no lo usas Fue una mala idea El soporte para este se eliminará, por lo que será ignorado. – hackbod

+0

Ah, es suficiente. Aunque los documentos dicen "por diseño, las nuevas versiones de la plataforma son totalmente compatibles con versiones anteriores" - probablemente valga la pena agregar una nota sobre las API en desuso. Por ejemplo, ¿después de cuántas versiones se eliminan las clases obsoletas del marco? ¿Hay una política? –

1

Creo que todo lo escrito en versiones anteriores del SDK es totalmente compatible con la última versión.

Estoy seguro de que leo esto en la documentación de SDK cuando estaba configurando mi IDE.

Si estoy en lo cierto, entonces realmente no hay necesidad de actualizar su aplicación para hacer uso de las funciones adicionales, aunque la opción siempre estará allí si decide ampliarla.

1

En mi opinión, la mejor práctica es compilar con la sdk de Android 1.6 y establecer la minSdkVersion en 3 en el manifiesto.

Digo esto basado en la recomendación de Dianne Hackborn (el usuario llamado hackbod que comentó sobre la respuesta aceptada) en this thread, ella es una empleada de Google que trabaja en la fuente de Android.

Básicamente hay bastantes dispositivos Android 1.5 SDK por lo que compilar con el Android 1.5 SDK proporcionaría soporte para más dispositivos con el 1.5 SDK, 1.6 SDK, 2.0 SDK, o el 2.1 SDK, pero hay dispositivos que requieren el SDK 1.6 como el HTC Tattoo, por lo que compila su aplicación con el 1.6 sdk, pero si establece minSdkVersion en 3, la mayoría de los dispositivos podrán usar su aplicación.

Si lo hace como dice la respuesta aceptada y compila con el último 2.1 SDK, se está perdiendo una gran cantidad de usuarios. Las aplicaciones compiladas con el SDK 2.1 solo pueden ser utilizadas por dispositivos que tienen el SDK 2.1 o superior, por lo que básicamente estás limitando a tus usuarios a aquellos que poseen un Google Nexus One en este momento.

+0

En el momento de la pregunta, sonaba juicioso establecer maxSdkVersion pero después de todas las advertencias, sí, parecía mejor usar min y target mientras se compilaba en 1.6. – attwad

Cuestiones relacionadas