miércoles, 9 de abril de 2014

Nuevo ADT Bundle (22.6.2) Problemas a la hora de crear un nuevo proyecto


PROBLEMAS EN LA CREACIÓN DE NUEVOS PROYECTOS

Con la última actualización del ADT Bundle (22.6.2), realizada el mes pasado, la comunidad de desarrolladores de Android está muy desconcertada pues han complicado la creación de nuevos proyectos sin grandes justificaciones.
En su empeño de convencer a los desarrolladores de que utilicen las últimas herramientas de Android (fragments, actionbar, etc.) han tomado una decisión drástica y nos obligan a incluirlas inicialmente. Estas nuevas herramientas están vigentes desde la API 11 y hasta la aparición de la API 19 de KitKat se mantenía la compatibilidad con una sencilla librería que se incluía en todos los proyectos (libs/android-support-v4.jar)
Con la versión del ADT Bundle 22.6.2 y el uso de la API 19, al crear un nuevo proyecto nos encontramos con varias dificultades:
1.       Se incorpora automáticamente un nuevo proyecto de tipo librería denominado appcompat_v7 que siempre contiene errores
2.       Obliga a utilizar fragments impidiendo que esta herramienta sea de uso opcional.
Para los desarrolladores Android experimentados esta situación no es más que una molestia pero para los que están empezando es una complicación innecesaria. Las personas que comienzan su aprendizaje no van a utilizar herramientas tan complejas como las que nos obliga la creación e nuevos proyectos.

PASOS A SEGUIR PARA CREAR UN NUEVO PROYECTO

Para superar las dificultades que se producen en la creación de nuevos proyectos y poder seguir el temario del curso, a continuación, os muestro los pasos que debéis seguir para crear un nuevo proyecto:

Ventanas-Opciones de la creación de un nuevo proyecto

 







Problemas a resolver con el proyecto-librería appcompat_v7

Si en el proyecto de librería creado se muestra una cruz roja como la del gráfico, analizaremos el contenido de la ventana Problems que se muestra en la parte de abajo del panel central de Eclipse.


En el caso de que en la ventana Problems se muestre un mensaje como el que he puesto encuadrado en la imagen anterior (The project cannot be built….), se deben seguir los siguientes pasos:
1.       Desplegar el contenido de la carpeta libs

2.       Sobre cada uno de los ficheros jar realizar las siguientes operaciones
a.       Pulsar el botón derecho sobre el fichero
b.      Build Path-Add to Buid Path


Ahora ya se debe mostrar el proyecto-librería appcompat_v7 sin errores

Pero el nuevo proyecto aun marca un error … lo solucionaremos en el siguiente punto…

Problemas a resolver con el proyecto nuevo creado


Si el nuevo proyecto marca un error y en la ventana Problems muestra un mensaje como el que aparece en la imagen debemos abrir el fichero MainActivity y eliminar las líneas enmarcadas


También podemos eliminar todos los métodos existentes en MainActivity que no sea onCreate(). Estos métodos son para manejar la action bar y los fragments y si no vamos a utilizar estas herramientas no los necesitamos
Así MainActivity quedaría con el siguiente código:



10 comentarios:

  1. He hecho lo que dices pero sigue el error.
    Estaba terminando una aplicación, me puse ayer para seguir y me da el error de ADT. Me bajo el nuevo paquete entero del SDK, asigno misma worksapce y todas las apps contienen errores, ¿de un día para otro?
    A ver si me puedes echar un cable porque puedes imaginar la indignación.

    ResponderEliminar
  2. Nada...parece que al reinstalar de nuevo todo se ha solucionado, menos mal!!
    Que vaya bien y gracias

    ResponderEliminar
  3. Hola! Realmente me sirvio muchisimo tu aporte, venia volviendome loco. Solo tengo una duda: Cada vez que inicio un nuevo proyecto se me crea una carpeta nueva "appcompat_v7_2", "appcompat_v7_3", etc... ¿Hay alguna manera de que utilice una sola carpeta de appcompat_v7?
    Desde ya, muchas gracias!

    ResponderEliminar
  4. Hola Facundo.
    Se ha solucionado la falta de platilla vacía en el ADT y ahora ya puedes seleccionar Empty Activity a la hora de crear una nueva actividad en el nuevo proyecto. De esta forma ya no te obliga a usar fragments.
    De todas formas, puedes utilizar una sola librería modificando en cada proyecto la librería con la que está enlazada, para ello debes pulsar con el botón derecho sobre el proyecto y Properties-Android y seleccionar la librería que desees en el cuadro correspondiente

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. Hola a todos!
    Hoy instale el plugin ADT en mi eclipse juno me supongo que esta es la versión 23.0.0.1245622, bueno mis problemas son los siguientes, como que hoy estoy empezando con el desarrollo en android no entiendo casi nada, bueno, al crear un proyecto me aparece el proyecto appcompat_v7 así como a ustedes, pero el eclipse corrige esos errores de forma automática, pero al corregir me encuentro sin ningún layout y sin el archivo MainActivity.java, esto sucede solo cuanto utilizo el Blank Activity o Empty Activity, pero al utilizar otra actividad, si me crea todos los archivos, si alguien me puede ayudar con estos problemas o me da algunas sugerencias estaré muy agradecido

    ResponderEliminar
  7. Hola a tod@s,
    Estoy intentando ejecutar un ejercicio de ejemplo y siempre me sale en el simulador el mensaje: unfortunately,nombreaplicación has stopped. Eclipse no me da ningún error.
    he probado con varias máquinas virtuales y el resultado es el mismo.
    Alguien sabe que tengo que hacer para solucionar este problema.
    Gracias de antemano

    ResponderEliminar
  8. Saludos a todos. he creado un proyecto y me crea el archivo appcompat_v7 y en el proyecto no se me genera la clase R y estoy a punto de tirarme por la ventana si no lo soluciono.

    ResponderEliminar
  9. me pasa lo mismo que a jose luis ademas de que ya no me inicia el sdk manager

    ResponderEliminar
    Respuestas
    1. Hola Saúl.
      Revisa la ventana de errores para identificar de forma más precisa la causa de no generar R. Este problema al inicio de un proyecto suele ser un problemas circunstancial que no aparece si repites la operación.
      Un saludo

      Eliminar