Android Studio-importation de bibliothèque externe / Jar

j'ai récemment téléchargé Android Studio pour développer des applications Android (je viens de Eclipse), et j'ai des problèmes en utilisant des bibliothèques externes et/ou des fichiers JAR externes à côté de mon propre projet. NOTE : les tests suivants ont été effectués sur un nouveau projet d'application créé à partir de zéro dans Android Studio.

exemple 1: Importation de pots.

  1. télécharger une nouvelle copie du SDK Admobs de Google.

  2. copier le JAR de bibliothèque GoogleAdMobAdsSdk-6.4.1.jar dans le dossier /libs/ du projet.

  3. dans l'Explorateur de projet, clic droit sur la bibliothèque nouvellement ajoutée.jar et cliquez sur 'Ajouter que la Bibliothèque".

techniquement à ce point tout fonctionne , les importations de travail très bien, l'éditeur de mise en page montre un aperçu de le widget AdView et tout ça. Le problème seulement est qu'il ne compile pas avec succès.

Journal de la console:

Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':APITests:compilePaidDebug'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.

j'ai essayé d'exécuter gradlew compileDebug --stacktrace , et le problème semble être que le malgré être capable d'importer les classes avec succès dans le code & design editor, au moment de la compilation, il ne peut pas résoudre les importations. Voici la partie pertinente du journal: ( plein stacktrace ici )

java:6: error: package com.google.ads does not exist
import com.google.ads.AdRequest;    
java:7: error: package com.google.ads does not exist
import com.google.ads.AdView;
java:11: error: cannot find symbol
AdView mAdView;
symbol:   class AdView
location: class MainActivity
java:22: error: cannot find symbol
mAdView = (AdView)this.findViewById(R.id.adView);
symbol:   class AdView
location: class MainActivity
java:23: error: cannot find symbol
mAdView.loadAd(new AdRequest());
symbol:   class AdRequest
location: class MainActivity
5 errors
:Test:compileDebug FAILED

Mais encore une fois, les importations fonctionnent bien dans l'éditeur, et la dépendance est là:

enter image description here

il est également intéressant de noter que sans essayer d'ajouter une bibliothèque/JAR, les projets compilent très bien.

j'ai alors essayé d'éditer la compilation.fichier gradle pour inclure le nouveau lib comme ceci:

dependencies {
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
}

cette fois, il a compilé avec succès, mais l'application se ferme maintenant, comme apparemment, il ne peut pas trouver une classe spécifique de la lib dans le paquet d'application.

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk

des idées?

62
demandé sur Bugs 2013-05-28 00:12:29

12 réponses

,

étapes à suivre afin d'importer avec succès un bocal à votre projet en utilisant Android Studio 0.1.1:

  • Téléchargez la bibliothèque.jar file et copiez-le dans votre dossier /libs/ à l'intérieur de votre projet d'application.
  • ouvrir le bâtiment.gradez le fichier et modifiez vos dépendances pour inclure le nouveau .fichier jar:

compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')

  • fichier - > Fermer Le Projet
  • ouvrez une invite de commande sur l'emplacement de la racine de votre projet, I. e 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • sur l'invite de commande, tapez gradlew clean , attendez que ce soit fait.
  • rouvrez votre projet d'application dans Android Studio.
  • tester exécuter votre application et il devrait fonctionner avec succès.
99
répondu daniel_c05 2013-05-29 16:09:36

vous n'avez pas besoin de fermer le projet et aller à la ligne de commande pour invoquer grade:clean. Aller à la Construction - > Projet de reconstruction

31
répondu Tej 2013-06-11 04:16:06

Easy way et ça marche pour moi. Utilisant Android Studio 0.8.2.

  1. faites Glisser le fichier jar en vertu de la libs.
  2. Appuyez sur "Sync Projet avec Gradle des Fichiers" bouton.

enter image description here

16
répondu aknay 2014-07-23 13:57:35

"la solution la plus simple est ici"

1 .Créez un dossier nommé libs sous le répertoire app de répertoire dans le projet..

2 . copier coller votre bibliothèque à libs dossier

3 .You simply copy the JAR to your libs/ directory and then from inside Android Studio, right click the Jar that shows up under libs/ > Add As Library..

paix!

11
répondu Odaym 2016-12-12 06:24:57

Voici comment je l'ai obtenu aller spécifiquement pour le admob sdk jar fichier:

  1. faites glisser votre fichier jar dans le dossier libs.
  2. faites un clic droit sur le fichier jar et sélectionnez ajouter une bibliothèque maintenant le fichier jar est une bibliothèque permet de l'ajouter à la compilation chemin
  3. ouvrir le fichier build.gradle (notez qu'il y a au moins deux fichiers build.gradle , n'utilisez pas le la racine utiliser l'une dans vos projet de périmètre).
  4. trouver la section dépendances (pour moi, j'essayais le fichier admob-GoogleAdMobAdsSdk jar)) par exemple

    dependencies {
       compile files('libs/android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar')
    }
    
  5. Dernier rendez-vous dans settings.gradle et de s'assurer qu'il ressemble à quelque chose comme ceci:

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
    
  6. enfin, passer à construire - > projet de reconstruction
10
répondu j2emanue 2014-02-15 18:41:04

vous exportez le projet à partir D'Eclipse et ensuite importer le projet à partir D'Android Studio, cela devrait résoudre votre problème, ouvrir un projet eclipse sans l'importer à partir D'Android Studio, vous pouvez causer des problèmes, regardez: (Excusez ma langue, je parle espagnol.) http://developer.android.com/intl/es/sdk/installing/migrate.html

2
répondu Heberth 2013-05-28 01:54:57

j'ai eu le problème de ne pas pouvoir charger le fichier jar dans le dossier libs dans Android Studio. Si vous avez ajouté le fichier JAR dans le dossier libs, ouvrez simplement le fichier build.gradle et enregistrez-le sans rien éditer d'autre. Si vous avez ajouté cette ligne

compile fileTree(dir: 'libs', include: ['*.jar'])

de l'enregistrer et de nettoyer le projet .. Lors de la prochaine construction, Android Studio chargera le fichier JAR.

Espérons que cette aide.

2
répondu IMRA 2015-09-14 23:03:02

J'utilise Android Studio 0.5.2. Donc, si votre version est plus basse que la mienne, ma réponse pourrait ne pas fonctionner pour vous.

3 façons d'ajouter un nouveau bocal à votre projet:

  1. Menu sous fichiers-- > Structure du projet
  2. Juste appuyez sur ' F4 '
  3. Sous navigation de projet, clic droit sur n'importe quelle bibliothèque java et un menu contextuel affichera alors cliquez sur " Paramètres De Bibliothèque Ouverte '

une fenêtre de Structure de projet apparaîtra.

sur la colonne de gauche, cliquez sur "bibliothèques", puis regardez le panneau de droite où il y a un signe plus " + " et cliquez dessus, puis entrez le chemin vers votre nouvelle bibliothèque.

assurez-vous que la nouvelle Bibliothèque est sous le dossier 'project\libs\' sinon vous pouvez obtenir un lien cassé quand vous enregistrez votre code source de projet.

1
répondu Gilson 2014-05-19 19:30:43

J'utilise actuellement Android Studio 1.4.

pour importer et ajouter des bibliothèques, j'ai utilisé le flux suivant - >

1. Press **Alt+Ctr+Shift+S** or Go to **File --> Project** Structure to open up the Project Structure Dialog Box.

2. Click on **Modules** to which you want to link the JAR to and Go to the Dependency Tab.

3. Click on "**+**" Button to pop up Choose Library Dependency.

4. Search/Select the dependency and rebuild the project.

j'ai utilisé l'approche ci-dessus pour importer des bibliothèques de support v4 et v13.

j'espère que c'est utile et nettoie le flux.

1
répondu Satish Garg 2015-10-03 22:06:33

j'utilise android studio 0.8.6 et pour importer bibliothèque externe dans le projet , coller cette bibliothèque dans le dossier libs et à l'intérieur construire.gradle chemin d'écriture de cette bibliothèque dans des dépendances comme celle-ci compiler des fichiers ('libs / google-play-services.jar')

0
répondu Dharmendra Pratap 2014-09-30 12:16:56

Dans Android Studio (le mien est 2.3.1) allez dans Fichier - Projet de la Structure:

enter image description here

0
répondu Zon 2017-05-03 12:04:50

vérifier les exigences de version libs. La lib pourrait essayer d'appeler une méthode à partir d'une version Android supérieure. Essayez d'ajouter la compatibilité des applications libs.

quand tout le reste échoue essayez de passer d'une construction Gradle à une construction Eclipse.

supprimez et restructurez vos dossiers dans le style eclipse et supprimez tout sauf votre code. Puis rechargez le projet avec vos libs.

une fois qu'il court, retournez à Gradle, si vous souhaiter.

-2
répondu Developer Bayman 2016-01-11 17:41:52