J’utilise ActionBarSherlock comme un projet de bibliothèque dans un projet qui est une bibliothèque elle-même. Tout fonctionnait bien jusqu’à ce que je déplace le projet sur un nouvel ordinateur et que je mette à jour les outils du SDK.
J’ai cette erreur que je ne comprends pas. Lorsque je crée une classe qui étend SherlockFragment comme ceci:
import com.actionbarsherlock.app.SherlockFragment; public class SomeFragment extends SherlockFragment { ... }
J’ai l’erreur de compilation suivante:
The type android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files
J’ai vérifié ce qui suit:
Rien d’autre?
J’ai eu le même problème que vous depuis que j’ai mis à jour le SDK. J’ai résolu mon problème en faisant cela (sur éclipse):
Properties
=> Java Build Path
=> onglet Order and Export
=> vérifiez le android support v4
ou Android Private Libraries
et sélectionnez Ok check Android Private Libraries
La réponse de Sébastien m’a conduit à la solution. Cependant, il est important de mentionner que la bibliothèque de support doit être ajoutée manuellement au chemin de génération afin de pouvoir l’examiner. Pour référence future, voici les étapes qui ont résolu le problème pour moi:
Cependant, c’est un mystère pour moi de savoir pourquoi cela doit être si compliqué – comme Josh l’a mentionné, Eclipse en combinaison avec Android et les grands projets avec quelques dépendances est difficile à utiliser et j’espère que cela sera amélioré dans un futur proche.
Dans mon cas, j’utilise 2 bibliothèques Android qui nécessitent la bibliothèque de support Android. Le problème était que les deux bibliothèques avaient des versions différentes de la bibliothèque de support Android.
Pour résoudre le problème: Cliquez avec le bouton droit sur le projet de bibliothèque => Outils Android => Ajouter une bibliothèque de support.
Répétez cette action pour chaque bibliothèque.
J’ai eu le même problème. Il y avait 2 bibliothèques différentes. Supprimer la bibliothèque de support de votre projet principal
Voici la solution la plus simple:
Faites un clic droit sur votre dossier de projet -> Construire le chemin -> Configurer le chemin de construction -> Ajouter des fichiers Jars externes (depuis l’onglet Bibliothèques) -> sélectionnez le fichier “android-support-v4.jar”.
(Il sera situé dans le dossier du SDK Android, voici le chemin générique “android-sdk \ extras \ android \ support \ v4”).
Après ce projet de nettoyage et de codage heureux …
J’ai rencontré le même problème dans mon cas, je l’ai résolu en cliquant droit sur le projet -> Chemin d’access -> Configurer le chemin de construction -> “Sélectionnez Android dans la liste de gauche” – cochez la case panneau “-> cliquez sur Appliquer -> cliquez sur OK
Ce qui a fonctionné pour moi était un peu différent des solutions proposées par @Sebastien et @FleshWound ci-dessus.
J’utilisais Android Studio et je rencontrais des problèmes similaires (pour le chargement de ListFragment). J’avais initialement importé une bibliothèque:
import android.support.v4.app.ListFragment;
Et puis mis à jour build.gradle dans diectory app: Assurez-vous que la section dépendances inclut les bibliothèques de support-
dependencies { comstack fileTree(dir: 'libs', include: ['*.jar']) comstack 'com.android.support:appcompat-v7:20.0.0 }
Je suis nouveau sur stackoverflow. Cependant, c’est ma solution ou mon expérience ici. Je l’ai résolu par Propriétés du projet -> ‘Android’ sur le panneau de gauche -> Ajouter -> Sélectionnez la bibliothèque de support requirejse dans le menu déroulant -> ‘Appliquer’ -> OK
Cela l’a fait. Cela a fonctionné même lorsque l’option ‘Librairies privées Android’ était décochée à partir de ‘Commande et exportation’ de Java Build Path.