web-dev-qa-db-fra.com

Problèmes lors de l'importation de projet dans Android Studio concernant ActionBarSherlock

Quelqu'un d'autre a-t-il des problèmes pour importer un projet avec ActionBarSherlock? J'ai un total de 100 erreurs et 17 avertissements. Cela a parfaitement fonctionné dans Eclipse. J'ai suivi les étapes pour créer un fichier de construction Gradle . Il n'y avait pas d'erreur d'importation jusqu'à ce que j'essaye de construire le projet. 

J'ai également essayé de re-télécharger ABS Fresh et de le remplacer dans mon projet.

Y a-t-il eu des problèmes connus avec ABS et IntelliJ? (qui, bien sûr, est basé sur Android Studio)

Voici quelques erreurs que je vois:

        Java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.Java:4: cannot find symbol
        symbol  : class Fragment
        location: package Android.support.v4.app

        Java: ...  Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.Java:4: cannot find symbol
        symbol  : class ListFragment
        location: package Android.support.v4.app

        Java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/widget/SuggestionsAdapter.Java:33:
        package Android.support.v4.widget does not exist

Toute aide vraiment appréciée

Edit: Il semble n'y avoir aucun problème avec Standard IntelliJ IDEA. De nombreux guides en ligne pour le configurer avec ABS. En outre, comme Jake l'a mentionné, il a en fait développé la chose dans IntelliJ

Voici un exemple de guide: http://Android-wtf.com/2012/09/how-to-configure-actionbarsherlock-with-intellij-idea/

Cependant, je ne comprends toujours pas pourquoi cela ne fonctionne pas dans Android Studio.

Edit2: solution dans la réponse ci-dessous. En bref: (J'ai téléchargé abs dernière version, extrait, supprimé l'ancienne version de abs de mon projet, puis file > import module... pour importer le répertoire actionbarsherlock dans mon projet existant. Nb, dans mon cas particulier, j'avais un problème avec une erreur de compilation supprimer\test\junit \)

27
wired00

Il semble y avoir beaucoup de problèmes généraux concernant l’importation de modules dans Android Studio, pas seulement ActionBarSherlock, cette réponse pourrait également les résoudre. (Cependant, les dernières étapes relatives à Junit sont spécifiques à abs)

Les étapes ci-dessous m'ont permis de faire fonctionner ActionBarSherlock sans problème.

1) Téléchargez le dernier ABS ici: http://actionbarsherlock.com/

2) Extrait ABS, vous devriez avoir un répertoire appelé "actionbarsherlock". Copiez-le dans votre espace de travail Android Studio. et renommez ActionBarSherlock (changed casing) -> J'ai maintenant mes projets Android Studio sous \*documents*\Android Workspace\ Par opposition à \Eclipse Workspace\

Donc, vous devriez maintenant avoir quelque chose comme:

\*documents*\Android Workspace\ActionBarSherlock\

Avec votre projet principal peut-être:

\*documents*\Android Workspace\TestProject\

3) Ouvrez Android Studio, chargez votre TestProject puis passez à File> Import Module... Naviguez maintenant vers ActionBarSherlock sous \*documents*\Android Workspace\ActionBarSherlock\Cliquez sur Ok puis sur tout le chemin pour terminer. Il vous demandera si vous souhaitez définir une dépendance pour le nouveau module (ou du moins le mien l'a fait). Cliquez sur OK.

4) à ce stade de la compilation, des erreurs se produisaient dans \ActionBarSherlock\test\ qui se plaignaient de Junit. J'ai simplement supprimé le répertoire \Test\ de mon module ABS sous la vue du projet. Right click \test\ > Delete.... Vous pouvez également inclure le fichier junit jar mais je ne pense pas que ce soit nécessaire 

5) vous devriez maintenant pouvoir compiler sans erreurs

Espérons que cela aide quelqu'un.

Il me fallait essentiellement re-télécharger un ABS complètement nouveau, effacer l'ABS de mon ancien projet (probablement assez ancien), puis importer le module ...

26
wired00

Cela fonctionne pour moi ..

d'abord suivi d'une réponse fournie par wired00

et j'ai fait des changements à partir d'ici.

J'ai créé un fichier build.gradle dans le projet de bibliothèque ActionBarSherlock en générant des fichiers de construction Gradle à partir d'Eclipse.

edit build.gradle (pour le projet de bibliothèque ActioBarSherlock), Ajoute une ligne dans les dépendances {} compile files('libs/Android-support-v4.jar')

modifier build.gradle (pour mon projet), supprimer compile files('libs/Android-support-v4.jar') et ajouter compile project(':abs') abs doit être le nom de projet de la bibliothèque ActionBarSherlock.

modifier settings.gradle, ajouter ,':abs'

supprimer les fichiers Android-support-v4.jar sauf celui du projet de bibliothèque ActionBarSherlock

6
Kuool

J'ai rencontré un problème similaire, mais en raison d'un problème distinct, je ne peux pas télécharger le dernier ActionBarShelock pour résoudre le problème décrit par wired00.

Si vous devez conserver votre version ABS existante, vérifiez si cela vous convient:

  1. Cliquez sur Fichier-> Structure du projet.
  2. Vous devriez voir 'ActionBarSherlock' dans la liste des modules, cliquez dessus. 
  3. Cliquez sur l'onglet "Dépendances". Très probablement, vous ne disposez pas de la bibliothèque de prise en charge Android v4.
  4. Cliquez sur le bouton '+' en bas et ajoutez Android-support-v4 en tant que dépendance. Si vous avez importé le projet depuis Eclipse, Android Studio a peut-être déjà importé le fichier JAR de support en tant que bibliothèque et vous pouvez l'utiliser directement. Sinon, vous devrez peut-être utiliser l'option "jars ou répertoires" et sélectionner le fichier jar de support dans un répertoire.
  5. Si votre module principal ou d'autres modules utilisent également la bibliothèque de support, vous devrez peut-être modifier le paramètre 'Compiler' en 'Fourni' si vous obtenez des erreurs 'DEX déjà ajouté'.
  6. Vous devriez être capable de compiler votre mobule ABS maintenant. Si vous rencontrez des erreurs de compilation 'hamcrest' ou 'junit', vous pouvez supprimer le dossier 'test' de votre projet ABS comme indiqué par wired00.
2
azgolfer

j'ai également fait face au même problème. Je suis même les étapes similaires à l'importation de la bibliothèque ABS. Mais je continuais à avoir la même erreur. Enfin, j'ai résolu ce problème . Solution: Après avoir suivi les mêmes étapes pour importer la bibliothèque ABS, 

  1. Recompilez votre projet (Cliquez avec le bouton droit de la souris sur votre projet et cliquez sur 'Module de compilation "Votre application"')
  2. Recompilez le projet de bibliothèque (cliquez avec le bouton droit de la souris sur le projet de bibliothèque et cliquez sur 'Module de compilation "bibliothèque")

C'est tout..

0
Yasir Ali