J'essaie de compiler une application qui utilise les classes Android-support-v4.jar
et Fragmentation
qu'elle contient, mais je continue à recevoir des messages chaque fois que j'essaie de compiler qu'il y a des erreurs dans le code. Toutes les erreurs ont à voir avec différentes classes Fragmentation
qui sont dans le .JAR
. J'ai essayé ctrl-clicking
le dossier du projet, puis en sélectionnant Android Tools -> Add Compatibility Library
et je continue à avoir cette erreur:
[2011-12-20 11:55:31 - Android Compatibility JAR not found:]
/Applications/Eclipse/Eclipse.app/Contents/MacOS/v4/Android-support-v4.jar
Pourquoi chercherait-il le .JAR
dans le contenu du paquet d'Eclipse? Je me suis rendu dans les propriétés du projet, dans le chemin de construction Java, et j'ai importé le .JAR
du dossier MainActivity/libs
, mais cela n'a pas fonctionné. J'ai ensuite essayé de l'importer à partir de mon répertoire SDK, mais cela ne fonctionnait pas. J'ai corrigé les propriétés du projet, nettoyé et construit de nombreuses fois, j'ai redémarré Eclipse, mon ordinateur, téléchargé à nouveau et installé Eclipse, le SDK Android et ADT et toujours rien. Je suis complètement perplexe.
J'ai parcouru le chemin de génération et importé le fichier .JAR à partir du répertoire MainActivity/libs
et de mon répertoire SDK. Pour le plaisir, j'ai ajouté le .JAR dans le répertoire qui continue à apparaître dans les erreurs et qui n'a pas fonctionné. Qu'est-ce qui fait qu'Eclipse le recherche dans son contenu de package d'application?
Ainsi, après avoir bricolé le contenu du projet, aucune erreur ne s'est affichée, mais le dossier MainActivity indique toujours qu'il y en a une et que je ne peux toujours pas compiler.
Comme nyah:
Je pense donc que la question peut être "Pourquoi Eclipse recherche-t-il le fichier .JAR dans le contenu du package de l'application Eclipse au lieu du répertoire libs
du projet ou du répertoire SDK Android que j'ai utilisé pour l'importer en tant que .JAR externe?"
Je ne reçois plus qu'une erreur après avoir bricolé, c'est sur cette méthode:
@Override
public MenuItem setOnActionExpandListener(OnActionExpandListener onActionExpandListener) {
// Noop
return this;
}
La solution rapide indique que je devrais supprimer l'annotation @Override, mais que cette méthode doit remplacer une méthode de super classe.
Ce sont les erreurs que cela montre:
Multiple markers at this line
- The method setOnActionExpandListener(MenuItem.OnActionExpandListener) of type SimpleMenuItem must override a superclass method
- implements Android.view.MenuItem.setOnActionExpandListener
Il s'est avéré que mon certificat de débogage avait expiré, il me suffisait donc de supprimer ~/.Android/debug.keystore
et de redémarrer Eclipse pour que tout fonctionne.
On dirait qu'il cherche le pot ici: /Applications/Eclipse/Eclipse.app/Contents/MacOS/v4/Android-support-v4.jar
Android-support-v4.jar se trouve dans <sdk>/extras/Android/compatibilité/v4
Assurez-vous de l'ajouter en tant que jar externe dans le chemin de génération Java.
Je pourrais résoudre ce problème par 1- supprimer "Android-support-v4.jar" de lib 2- cliquer avec le bouton droit de la souris sur le nom du projet et choisir "Outils Android" et "Ajouter une bibliothèque de support".
Si cela n'est toujours pas résolu: Comme déjà dit, dans Eclipse, accédez à Propriétés du projet> Chemin de construction Java> Libs> Ajouter un fichier externe et récupérez-le dans le répertoire adk.
Configurez également Java 1.6 comme version de compilation par défaut si ce n’est déjà fait. Cela devrait résoudre les erreurs de substitution que vous avez décrites.
Faites un clic droit sur votre projet -> sélectionnez Outils Android -> sélectionnez Ajouter une bibliothèque de support et installez simplement les bibliothèques de support.
Quelque chose de semblable m'est arrivé. Au sommet de MainActivity.Java, les importations suivantes donnaient des erreurs:
import Android.support.v4.app.FragmentActivity;
import Android.support.v4.app.FragmentManager;
import Android.support.v4.app.FragmentTransaction;
Sur chacune des lignes à gauche, l'ampoule faisait quelques suggestions. Si vous cliquez dessus, l'une des options sera "Fixer la configuration du projet". Vous pourrez alors choisir entre plusieurs options pour la fixation des importations, choisissez celle qui spécifie Android-support-v4.jar.
J'ai eu le même problème sous Ubuntu. Allez dans Outils-> Options . Cochez Forcer https: // ... vers http: //Ouvrez le Gestionnaire de SDK Android. Vérifiez Extras-> Android Support Library.
Je me rends compte que cette question a été résolue, mais il s'agit d'un problème connu qui est censé être résolu dans la version du plug-in ADT-17 conformément au commentaire 9 ci-dessous: http://code.google.com/p/Android/ issues/detail? id = 21488
De plus, les personnes qui ont ce problème peuvent copier le fichier JAR de compatibilité à l'emplacement où il est indiqué qu'il ne le trouve pas. Clairement, il cherche au mauvais endroit (car il vérifie le répertoire Eclipse plutôt que le répertoire Android-sdk), donc la solution simple, pour le moment, consiste simplement à mettre le paquet où il veut le trouver, même s'il ne le fait pas. appartenir.
Pour moi, c'était aussi simple que de copier le répertoire v4 dans C:/Android-sdk/extras/Android/support/dans le répertoire C:/Eclipse /.
N'essayez-vous pas de faire Android Tools -> Add Compatibility Library, et ajoutez uniquement le fichier jar dans la bibliothèque de chemins de construction Java?.
J'utilise cette bibliothèque de bocaux de cette manière et cela fonctionne sans aucun problème.
Solution: assurez-vous que vous entrez la même API pour "Target SDK" et "Compile with" lors de la création du projet Android (ou dans le fichier Manifest une fois créé).
Une autre mise en garde consistait à exécuter Android SDK Manager sous Windows 7 sans privilèges d’administrateur. Il essaierait d'installer le package de support, mais échouerait toujours, et le package réel ne serait jamais téléchargé sur
C:\Program Files (x86)\Android\android-sdk\extras\Android\support\v4\Android-support-v4.jar
J'ai eu le même problème.
Sous les propriétés du projet: Chemin de construction Java: onglet Ordre et exportation, la case en regard de Android-support-v4.jar n'a pas été cochée. J'ai coché la case et l'erreur est partie.