J'utilise ActionBarSherlock comme 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 étendant 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é les points suivants:
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 Eclipse):
Properties
=> Java Build Path
=> Order and Export
tab => cocher Android support v4
ou Android Private Libraries
et sélectionnez Okcheck Android Private Libraries
La réponse de Sébastien m'a en fait 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 vérifier son exportation. 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 pourquoi cela doit être si compliqué - comme Josh l'a mentionné, Eclipse en combinaison avec Android et les grands projets avec quelques dépendances sont difficiles à utiliser et j'espère que cela sera améliorée dans un avenir proche.
Dans mon cas, j'utilise 2 Android bibliothèques qui nécessitent la bibliothèque de support Android. Le problème était que les deux bibliothèques avaient des versions différentes de Android.
Pour résoudre le problème: cliquez avec le bouton droit sur le projet de bibliothèque => Android Tools => Add Support Library.
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 d'assistance de votre projet principal
Voici la solution la plus simple:
Cliquez avec le bouton droit sur votre dossier de projet -> Chemin de génération -> Configurer le chemin de génération -> Ajouter des fichiers externes (à partir de l'onglet bibliothèques) -> sélectionnez le fichier "Android-support-v4.jar".
(Il sera situé dans Android ici est le chemin générique "Android-sdk\extras\Android\support\v4").
Après ce nettoyage, vous projetez et joyeux codage ...
J'ai rencontré le même problème dans mon cas, je l'ai résolu en cliquant avec le bouton droit sur le projet -> Chemin Buid -> Configurer le chemin de génération -> "sélectionnez Android dans la liste de gauche" -> "sélectionnez le case à cocher pour construire la cible du projet dans le panneau de droite "-> cliquez sur Appliquer -> cliquez sur OK
J'utilisais Android Studio et face à un problème similaire (pour le chargement de ListFragment). J'avais initialement importé la bibliothèque:
import Android.support.v4.app.ListFragment;
Et puis mis à jour build.gradle dans le répertoire de l'application: assurez-vous que la section des dépendances inclut les bibliothèques de support -
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:20.0.0 }
Je suis nouveau sur stackoverflow. Cependant, c'est ma solution ou mon expérience ici. J'ai résolu cela par Propriétés du projet -> 'Android' sur le panneau de gauche -> Ajouter -> Sélectionnez la bibliothèque de support requise dans le menu déroulant -> 'Appliquer' -> OK
Cela l'a fait. Cela a fonctionné même lorsque "Android Private Libraries" n'était pas coché dans "Order and Export" de Java Build Path.
Ce qui a fonctionné pour moi était un peu différent des solutions de @Sebastien et @FleshWound ci-dessus dans le fil.