web-dev-qa-db-fra.com

android-support-v4.jar n'importe pas correctement dans Eclipse

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.


Modifier


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?


Mettre à jour


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:

enter image description here


Révision


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?"


Mise à jour # 2


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
16
JustLikeThat

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.

2
JustLikeThat

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.

19
Rajdeep Dua

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".

12
aml elmahalawy

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.

4
Juke

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. 

1
mani

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.

1
evaldeslacasa

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.

1
user2077784

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 /.

1
cunninghamp3

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.

0
jegumi

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éé).

0

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

0
Dmitri

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.

0
Beer Me