ActionBarSherlock: no se puede resolver el tipo android.support.v4.app.Fragment. Se hace referencia indirectamente a los archivos .class requeridos

Estoy utilizando ActionBarSherlock como un proyecto de biblioteca en un proyecto que es una biblioteca en sí. Todo funcionaba bien hasta que moví el proyecto a un nuevo equipo y actualizé las herramientas del SDK.

Tengo este error que no entiendo. Cuando creo una clase extendiendo SherlockFragment como esto:

import com.actionbarsherlock.app.SherlockFragment; public class SomeFragment extends SherlockFragment { ... } 

Tengo el error siguiente de la compilación:

 The type android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files 

He comprobado lo siguiente:

  • ActionBarSherlock se importa como una biblioteca
  • No hay errores aparentes en la ruta de construcción (sin cruz roja) y actionbarsherlock.jar está presente
  • La biblioteca de soporte está en el proyecto ActionBarSherlock y NO en otros proyectos dependientes

¿Algo más?

9 Solutions collect form web for “ActionBarSherlock: no se puede resolver el tipo android.support.v4.app.Fragment. Se hace referencia indirectamente a los archivos .class requeridos”

Tuve el mismo problema que tú desde que había actualizado el SDK. He resuelto mi problema haciendo esto (en eclipse):

  • Haga clic con el botón derecho del ratón en la barra de acción sherlock library => Properties => Java Build Path => ficha Order and Export => compruebe el android support v4 o Android Private Libraries y seleccione Ok
  • Haga clic derecho en su proyecto personal y vaya a properties => java build path => seleccione check Android Private Libraries
  • Limpiar ambos proyectos, debería funcionar.

La respuesta de Sebastien me llevó a la solución. Sin embargo, es importante mencionar que la biblioteca de soporte tiene que ser agregada manualmente a la ruta de construcción para poder comprobarla para exportar. Para referencia futura, aquí están los pasos que resolvieron el problema para mí:

  1. Asegúrese de que la biblioteca de soporte está en la carpeta libs del proyecto ABS y en ningún otro lugar
  2. Haga clic derecho en la biblioteca -> Construir ruta -> Añadir a la ruta de construcción
  3. Haga clic con el botón derecho del ratón en el proyecto ABS -> Propiedades -> Ruta de construcción de Java -> Pedido y exportación -> Compruebe el archivo android-support-v4.jar y guarde
  4. Haga clic con el botón derecho en el proyecto en el que ha incluido ABS -> Propiedades -> Ruta de construcción de Java -> Pedido y exportación -> Compruebe las "Bibliotecas privadas de Android" y guarde
  5. Si tiene proyectos adicionales en su jerarquía de dependencias, realice el paso 4 para todos los proyectos
  6. Limpie todo el espacio de trabajo (o todos los proyectos afectados) y espere lo mejor.

Sin embargo, es un misterio para mí por qué esto tiene que ser tan complicado – como Josh mencionó, Eclipse en combinación con Android y grandes proyectos con un par de dependencias es difícil de usar y espero que esto se mejorará en un futuro próximo.

En mi caso estoy usando 2 librerías de Android que requieren la biblioteca de soporte de Android. El problema era que ambas bibliotecas tenían diferentes versiones de la biblioteca de soporte de Android.

Para resolver el problema: Haga clic con el botón secundario del mouse en el proyecto de biblioteca => Herramientas de Android => Agregar biblioteca de soporte.

Repita esta acción para cada biblioteca.

Tuve el mismo problema. Había 2 bibliotecas diferentes. Eliminar la biblioteca de soporte de su proyecto principal

Aquí está la solución más simple:

Haga clic con el botón derecho del ratón en su carpeta de proyecto -> Construir ruta -> Configurar la ruta de construcción -> Agregar jarras externas (de la pestaña librerías) -> seleccione el archivo "android-support-v4.jar".

(Estará ubicado en la carpeta Android SDK aquí es la ruta genérica "android-sdk \ extras \ android \ support \ v4").

Después de este proyecto limpio y feliz codificación …

Tengo el mismo problema en mi caso lo resolví haciendo clic derecho en el proyecto -> Buid ruta -> Configurar Generar ruta -> "seleccionar Android de la lista de la mano izquierda" -> "seleccionar la casilla de verificación para el objetivo del proyecto de construcción de la derecha Panel de la mano "-> haga clic en Aplicar -> haga clic en Aceptar

Lo que funcionó para mí fue un poco diferente de las soluciones de @Sebastien y @FleshWound arriba en el hilo.

  • Copió el archivo "android-support-v4.jar" de / MyProject / libs / y sobrescribió el de /ActionBarSherlock/libs/android-support-v4.jar.
  • Fue a "Proyecto Propiedades" -> "Java Build Path" -> "Añadir" -> Proyecto ActionBarSherlock.
  • Proyecto limpio.

Yo estaba usando Android Studio y se enfrentan con un problema similar (para cargar ListFragment). Inicialmente había importado la biblioteca:

Import android.support.v4.app.ListFragment;

A continuación, actualiza build.gradle dentro de la diectoria de la aplicación: Asegúrese de que la sección de dependencias incluye bibliotecas de soporte:

  dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:20.0.0 } 

Soy nuevo en stackoverflow. Sin embargo esta es mi solución o experiencia aquí. Solucioné esto por Propiedades del proyecto -> 'Android' en el panel izquierdo -> Añadir -> Seleccione la biblioteca de soporte necesario en el menú desplegable -> 'Aplicar' -> Aceptar

Esto se hizo. Esto funcionó incluso cuando 'Android Private Libraries' estaba desmarcada en 'Order and Export' de Java Build Path.

  • Cómo cambiar el color de TabIndicater en PagerTabStrip
  • Contenido de la pestaña usando el estilo de la pestaña actionbarsherlock
  • No puedo conectar actionbarsherlock al proyecto
  • DrawerLayout y ActionBarDrawerToggle no se pueden resolver con un tipo
  • ActionBarSherlock - Muestra los elementos de acción desbordados como icono + texto
  • Android personalizado IcsSpinner (de ActionBarSherlock)
  • ActionBarSherlock no funciona en eclipse
  • El método getChildFragmentManager () no está definido
  • Theming ActionBarSherlock da error de nivel de api
  • Desactivar la inclusión de Appcompact_v7: Android
  • Desactivar programaticamente android: windowActionBarOverlay estilo de barra de acción
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.