2012-08-15 17 views
15

Recientemente he creado una aplicación de Android con una versión minSdkVersion de 7 y targetSdkVersion de 10. Ahora estoy haciendo que la tableta de la aplicación sea compatible y agregue barras de acción. Así que actualicé por targetSdkVersion a 15 y en las propiedades de mi proyecto, moví mi Project Build Tarket a Android 4.0.3, API 15. También comprobé que mi Java Compiler es 1.6.El selector de dispositivo Android muestra la X roja en la columna de destino

Sin realizar ningún otro cambio en mi código, intento ejecutar mi aplicación y en el Selector de Dispositivo Android, mis dos dispositivos físicos, las versiones 2.3.4 y 3.1, tienen una X roja en la columna Destino, en lugar de la marca de verificación verde.

También estoy trabajando con la aplicación de ejemplo ActionbarCompat y una aplicación de muestra de ActionbarSherlock y cuando ejecuto una de esas aplicaciones, ambos de mis dispositivos, muestran una marca de verificación verde. Ambas aplicaciones de muestra tienen su objetivo de compilación del proyecto establecido en 4.0.3 y la misma configuración de sdkVersion que tengo en mi aplicación. Por lo que puedo decir, mi aplicación está configurada igual que las demás. ¿Por qué mi aplicación tiene una X roja junto a las versiones de mi dispositivo en la columna Destino?

Gracias!

+0

¿Su aplicación se refiere a cualquier proyecto de biblioteca? Si lo hace, me pregunto si puede verificar si tiene 'manifestmerger.enabled = true' en su archivo project.properties y verá si agregarlo/eliminarlo hace la diferencia. – Joe

+0

@Joe Acabo de ver este comentario. Agregar manifestmerger.enabled = true no cambió nada. Incluyo la biblioteca ActionBarSherlock y, por naturaleza, la biblioteca de soporte de Android. Las X rojas aparecieron antes de comenzar a incluir bibliotecas, tan pronto como cambié mi objetivo de compilación del proyecto y actualicé mi manifiesto. – dbDev

+0

¿Puedes dar el enlace del actionbarcompat que estás probando? –

Respuesta

9

En Eclipse, después de cambiar el minSdkVersion y targetSdkVersion

si el "selector de dispositivo Android" todavía muestra el X rojo en los dispositivos (que debe ser compatibles). Proveedores:

  • Abra la o "Run Configuration" "configuración de depuración" de diálogo
  • Eliminar todas las configuraciones en "Aplicación Android"
  • reintento Haga clic en el Proyecto> Depurar como> Aplicación Android

Todos los dispositivos compatibles deben pasar a la marca de verificación verde ahora.

+0

¡Eso fue todo! ¡Muchas gracias por publicar esta respuesta! ¡Todos, por favor voten esta respuesta! – dbDev

+0

@Hiep ¿te importa explicar por qué funcionó si conoces el motivo? – JDenais

+0

@JDenais Supuse que la "Configuración de depuración" almacenaba en caché la antigua versión minSdkVersion y targetSdkVersion, por lo que después de cambiarlas, debe volver a crear la "Configuración de depuración" (haga clic con el botón derecho en Proyecto> Depurar como> Aplicación Android) – Hiep

3

Es porque sus dispositivos están ejecutando las versiones de Android 2.3.4 y 3.1, por lo que debe tener minSdkVersion = "10" como mínimo. Una vez que establezca minSdkVersion en 10, obtendrá de nuevo la marca de verificación verde.

+0

La pregunta mencionó que minSdkVersion ya está establecido en 7, ¿no? – Joe

+0

@Joe tiene razón, ya tenía minSdkVersion establecido en 7. Establecerlo en 3 tampoco ayudó. El código de ejemplo que mencioné anteriormente es min 3, objetivo 14 y obtengo verificaciones verdes para ese código. No puedo entender qué hay de diferente entre el código de muestra y mi código. – dbDev

+0

Pasé por alto eso. –

1

AndroidManifest.xml:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" /> 

Si su manifiesto tienen un mayor "targetSdkVersion" de su dispositivo, se mostrará una "cruz roja (X)" al lado del firmware.

Si su minSdkVersion es más alto que el dispositivo no se incluso ejecutar

ACTUALIZACIÓN:

He probado el proyecto de ejemplo y obtuve los mismos resultados que mi respuesta aclarado desde el principio. (image of the project running with same specifications as the question)

+0

Eso es incorrecto, si carga el ejemplo de ActionBarCompat, verá que usa minSdkVersion de 3 y targetSdkVersion de 14. Cuando ejecuto esa aplicación, en los mismos dispositivos que ejecuto mi aplicación, obtengo marcas de verificación verdes. Tan pronto como ejecuto mi aplicación, obtengo las x rojas. – dbDev

+0

bien toda la prueba que hice si cambio en proyecto> propiedades> Android el "objetivo de compilación del proyecto" a un objetivo más alto que mi dispositivo aparece la cruz roja, pero si es menor, aparece una marca verde. Ha hecho usted eso ? o simplemente cambió el manifiesto? porque el manifiesto no actualiza el objetivo de compilación del proyecto. –

+0

no veo por qué un -1 de ninguna manera. Este es el primero que alguien me da. –

Cuestiones relacionadas