web-dev-qa-db-fra.com

Projet d'importation donné Impossible de résoudre la cible 'Android-7'

Cette application que j'ai complétée il y a environ un an (!) Mais ne l'a jamais lancée sur le marché. J'essaie maintenant de l'ouvrir dans Eclipse pour y apporter de petites modifications et travailler un peu sur le code. Donc, je l'ai importé et ensuite trouvé cette erreur bizarre "incapable de résoudre la cible". Il met en évidence chaque classe en rouge dans tous mes fichiers «src». 

J'ai examiné une question similaire qui disait d'ajouter la ligne au fichier default.properties. Mon projet a un fichier project.properties qui a la ligne: 

target=Android-7

Des conseils pour que cela fonctionne? Je pouvais toujours commencer un nouveau projet et simplement copier tous les fichiers src, mais ce serait plutôt nul et fastidieux. 

Encore un commentaire - je développe sur un nouvel ordinateur et je ne pense pas avoir l'API de niveau 7. Cela pourrait-il être le problème? Je suis allé dans Window -> Android SDK Manager et la plus ancienne API disponible qu’elle affiche est le niveau 8. Mais au niveau 7, je pourrai cibler plus de périphériques que je pense, donc j’aimerais y aller.

Merci pour toute aide.

9
JDS

Eh bien oui, c'est ton problème. L'API de niveau 7 n'est pas téléchargée. Vous pouvez cliquer avec le bouton droit sur le projet, accéder à Propriétés-> Android et sélectionner une autre API disponible. Tant que vous ne modifiez pas la version min de sdk dans votre manifeste, vous ciblez toujours autant de périphériques qu'auparavant.

<uses-sdk Android:minSdkVersion="7"/>

Mise à jour  

Vous n'êtes pas obligé de faire cela, mais vous pouvez obtenir les anciennes API sur la page Archives du SDK

Je ne sais pas s'il existe une source officielle pour la déclaration suivante, mais c'est ce que j'ai trouvé en travaillant. Si quelqu'un peut compléter ceci avec une meilleure réponse, je l'apprécierais beaucoup.

Vous pouvez compiler le code avec une version plus récente du SDK à condition de ne pas utiliser de code incompatible avec les précédentes. 

Exemple: 

Je veux que mon application soit disponible pour l'API de niveau 7. Mais je n'ai que l'API de niveau 15 installée. Tant que je garde minSdkVersion = "7" dans mon manifeste et que je n'utilise aucune ressource non disponible dans les API précédentes, l'application fonctionnera parfaitement sur les appareils ciblés. 

31
caiocpricci2

Pour ceux qui souhaitent tester leur projet par rapport à un niveau d'API qui n'est pas le plus récent, vous pouvez simplement utiliser le SDK Manager pour installer l'ancien SDK:

Dans Eclipse (avec adt installé):

enter image description here

Gestionnaire de SDK:

enter image description here

Il suffit de cocher la case du SDK que vous voulez utiliser pour tester votre projet et cliquer sur installer. Vous pouvez également supprimer les API que vous n'utilisez pas.

8
John

Faites un clic droit sur votre projet puis:

Propriétés -> Android -> Cible de construction du projet -> Check Android 4.1.2

2
vovahost

J'ai résolu ce problème en modifiant mon fichier project.properties.
de: target=Android-7
to: target=Android-19

J'ai également changé la version du sdk cible dans le fichier manifeste:
Android:targetSdkVersion="19".

1
user3628683

Dans le fichier manifest.xml de votre application, ajoutez cette balise.

<uses-sdk
    Android:minSdkVersion="8"
    Android:targetSdkVersion="8" />

Cela a fonctionné pour moi. L'essayer.

1
Sumit Munot

Oui. Je vois le même problème lorsque j'importe le projet de support Android v7 en tant que projet de bibliothèque dans mon propre projet. Eclipse indique que ne peut pas résoudre Android16. Je trouve que c'est le problème de Eclipse. Vous pouvez cliquer avec le bouton droit de la souris sur votre projet qui a ceci problème, puis sélectionnez Propriétés, le volet Android, le volet Projet correspondant à la cible de construction s'y trouve, vous pouvez le voir facilement, choisissez une plate-forme Android standard, telle que Android4.3, et non les autres qui commencent par Google API, j'espère que cela T'aider!

0
user205871
  1. vérifier Android: minSdkVersion = dans le fichier AndroidManifest.xml

  2. update target = Android- dans le projet.properties si vous utilisez Eclipse IDE