Question Android Studio - Importer une bibliothèque externe / Jar


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 avec des bibliothèques externes et / ou des fichiers JAR externes avec mon propre projet. REMARQUE: les tests suivants ont été effectués sur un Nouveau projet d'application créé de toutes pièces dans Android Studio.

Exemple 1: Importation JAR.

  1. Téléchargez une nouvelle copie du kit de développement Admobs à partir de Google.

  2. Copiez le pot de la 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 la bibliothèque.jar nouvellement ajoutée et cliquez sur "Ajouter en tant que bibliothèque".

Techniquement à ce stade tout fonctionne, les importations fonctionnent bien, l'éditeur de mise en page affiche un aperçu de la AdView widget et tout ça. le seulement Le problème 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é de courir gradlew compileDebug --stacktrace, et le problème semble être que malgré le fait de pouvoir importer les classes avec succès 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:empilement complet 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 / un fichier JAR, les projets se compilent très bien.

J'ai ensuite essayé de modifier le fichier build.gradle pour inclure la nouvelle librairie comme ceci:

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

Cette fois-ci, il a été compilé avec succès, mais l’application force maintenant la fermeture, car apparemment, il ne peut pas trouver une classe spécifique de la lib dans le package de l’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
2018-05-27 20:12


origine


Réponses:


Alors,

Étapes à suivre pour importer un fichier JAR dans votre projet en utilisant 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 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 racine de votre projet, c.-à-d. 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • À l'invite de commande, tapez gradlew cleanAttends que ça soit fait.
  • Rouvrez votre projet d'application dans Android Studio.
  • Testez votre application et cela devrait fonctionner avec succès.

99
2018-05-29 16:09



Vous n'avez pas besoin de fermer le projet et d'accéder à la ligne de commande pour invoquer grade: clean. Allez dans Build-> Rebuild Project


31
2018-06-11 04:16



Moyen facile et ça marche pour moi Utiliser Android Studio 0.8.2.

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

enter image description here


16
2017-07-23 13:57



"la solution simple est ici"

1 .Créez un dossier nommé libs sous le répertoire de l'application pour cela n'importe quel 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
2017-11-23 19:30



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

  1. Faites glisser votre jar fichier dans le dossier libs.
  2. Clic droit sur le jar fichier et sélectionnez Ajouter une bibliothèque maintenant le fichier jar est une bibliothèque permet de l'ajouter au chemin de compilation
  3. Ouvrez le build.gradle fichier (notez qu'il y en a deux build.gradle fichiers au moins, ne pas utiliser la racine utiliser celui de la portée de votre projet).
  4. Trouvez la section dépendances (pour moi, j'essayais 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 settings.gradle et assurez-vous qu'il ressemble à ceci:

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

10
2017-07-04 15:43



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


2
2018-05-28 01:54



J'ai eu le problème pas en mesure de charger le fichier jar dans le dossier libs dans Android Studio. Si vous avez ajouté un fichier JAR dans le dossier libs, ouvrez simplement build.gradle fichier et enregistrez-le sans modifier quoi que ce soit d'autre. Si vous avez ajouté cette ligne

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

enregistrez-le et nettoyez le projet. Dans le prochain build, Android Studio chargera le fichier JAR.

J'espère que cela t'aides.


2
2018-04-30 09:55



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

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

  1. Menu sous Fichiers -> Structure du projet 
  2. Appuyez simplement sur 'F4'
  3. sous Navigation du projet, clink droit sur n'importe quelle bibliothèque Java et un menu contextuel apparaîtra, puis cliquez sur 'Paramètres de la bibliothèque ouverte'

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

Dans la colonne de gauche, cliquez sur «Bibliothèques», puis sur le volet de droite où se trouve un signe plus «+» et 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’avoir un lien cassé lorsque vous enregistrez le code source de votre projet.


1
2018-05-19 19:02