web-dev-qa-db-fra.com

Android Studio - Importation d'une bibliothèque / d'un bac externe

J'ai récemment téléchargé Android Studio pour développer des applications Android (je viens d'Eclipse)] et j'ai des problèmes d'utilisation des bibliothèques externes et/ou des fichiers JAR externes. à côté de mon propre projet. [~ # ~] note [~ # ~] : les tests suivants ont été réalisés sur un nouveau projet d’application créé de toutes pièces dans Android Studio.

Exemple 1: Importation de fichiers JAR.

  1. Téléchargez une nouvelle copie du SDK Admobs de Google.

  2. Copier le fichier bibliothèque GoogleAdMobAdsSdk-6.4.1.jar dans le dossier/libs/du projet.

  3. Dans l'explorateur de projet, cliquez avec le bouton droit sur le fichier library.jar récemment ajouté, puis cliquez sur 'Ajouter en tant que bibliothèque'.

Techniquement, à ce stade , tout fonctionne , les importations fonctionnent parfaitement, l'éditeur de disposition affiche un aperçu du widget AdView et tout cela. Le problème seulement est qu'il ne se compile pas correctement.

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é de courir gradlew compileDebug --stacktrace _, et le problème semble être que, bien qu’il soit possible d’importer les classes dans l’éditeur de code et de conception, au moment de la compilation, il ne peut pas résoudre les importations. Voici la partie pertinente du journal: ( full stacktrace here )

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 sont parfaitement compilés.

J'ai ensuite essayé d'éditer le fichier build.gradle pour inclure la nouvelle lib comme ceci:

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

Cette fois, la compilation a été effectuée avec succès, mais l’application force maintenant à se fermer car, apparemment, elle ne peut pas trouver une classe spécifique à partir de la bibliothèque dans le package 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
daniel_c05

Alors,

Étapes à suivre pour importer un fichier JAR dans votre projet avec Android Studio 0.1.1:

  • Téléchargez le fichier library.jar et copiez-le dans votre dossier/libs/dans votre projet d'application.
  • Ouvrez le fichier build.gradle et éditez 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 à l'emplacement racine de votre projet, à savoir 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • Sur la ligne de commande, tapez gradlew clean, attendez que ce soit fait.
  • Rouvrez votre projet d’application dans Android Studio.
  • Testez votre application et cela devrait fonctionner avec succès.
99
daniel_c05

Vous n'avez pas besoin de fermer le projet et d'aller en ligne de commande pour appeler grade: clean. Allez à Build-> Rebuild Project

31
Tej

C'est facile et ça marche pour moi. Utilisation de Android Studio 0.8.2.

  1. Faites glisser le fichier jar sous libs.
  2. Appuyez sur le bouton "Synchroniser le projet avec Gradle Files".

enter image description here

16
aknay

"la solution simple est ici"

1. Créez un dossier nommé libs sous le répertoire app, quel que soit le répertoire du projet.

2 .Copier Coller votre bibliothèque dans le dossier libs

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!

13
Odaym

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

  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, ajoutez-le au chemin de compilation
  3. Ouvrez le build.gradle fichier (notez qu'il y a deux build.gradle fichiers au moins, n'utilisez pas la racine utilisez celle de la portée de votre projet).
  4. Trouvez la section des dépendances (pour moi, j'essayais de le fichier jar admob -GoogleAdMobAdsSdk), par exemple.

    dependencies {
       compile files('libs/Android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar')
    }
    
  5. Dernière entrée dans settings.gradle et assurez-vous qu'il ressemble à ceci:

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
    
  6. Enfin, allez à Build -> Rebuild Project
10
j2emanue

vous exportez le projet depuis Eclipse puis importez-le de Android Studio, cela devrait résoudre votre problème, ouvrez un projet Eclipse sans l'importer de Android Studio vous peut causer des problèmes, regardez: (Excusez ma langue, je parle espagnol.) http://developer.Android.com/intl/es/sdk/installing/migrate.html

2
Heberth

Le problème me empêchait de 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 éditer quoi que ce soit d'autre. Si vous avez ajouté cette ligne

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

sauvegardez-le et nettoyez le projet .. Lors de la prochaine compilation Android Studio chargera le fichier JAR.

J'espère que cela t'aides.

2
IMRA

J'utilise Android Studio 0.5.2. Donc, si votre version est inférieure à la mienne, ma réponse risque de ne pas fonctionner pour vous.

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

  1. Menu sous Fichiers -> Structure du projet
  2. Appuyez simplement sur 'F4'
  3. sous Navigation dans les projets, cliquez à droite sur n'importe quelle Java et un menu contextuel s'afficheront, puis cliquez sur 'Ouvrir les paramètres de la bibliothèque'

Une fenêtre de structure de projet apparaîtra.

Dans la colonne de gauche, cliquez sur "Bibliothèques", puis sur le volet de droite contenant le signe plus "+", cliquez dessus, puis entrez le chemin de votre nouvelle bibliothèque.

Assurez-vous que la nouvelle bibliothèque se trouve dans le dossier 'project\libs \', sinon vous risquez d'obtenir un lien cassé lorsque vous enregistrez le code source de votre projet.

1
Gilson

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 les bibliothèques de support v4 et v13.

J'espère que cela est utile et clarifie le flux.

1
Satish Garg

J'utilise Android studio 0.8.6 et pour importer une bibliothèque externe dans un projet, collez cette bibliothèque dans le dossier libs et à l'intérieur du chemin d'écriture build.gradle de cette bibliothèque à l'intérieur de dépendances telles que celles-ci ('libs/google-play-services.jar ')

0
Dharmendra Pratap

Dans Android Studio (le mien est 2.3.1), allez dans Fichier - Structure du projet:

enter image description here

0
Zon