64 votes

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

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

Exemple 1: POT de l'Importation.

  1. Télécharger une nouvelle copie de la Admobs SDK de Google.
  2. Exemplaire de la bibliothèque bocal GoogleAdMobAdsSdk-6.4.1.jar du projet /libs/ dossier.
  3. Dans l'explorateur de projets, cliquez-droit sur le nouveau library.jar et cliquez sur 'Ajouter que la Bibliothèque".

Techniquement, à ce point, tout fonctionne, les importations de travail, la mise en page de l'éditeur montre un aperçu de l' AdView widget, et tout ça. Le seul problème est qu'il n'est pas compilé 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 le en dépit d'être en mesure d'importer les classes sucesfully à la fois le code et la conception de l'éditeur, 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 compile très bien.

J'ai ensuite essayé de l'édition de la construction.gradle fichier à inclure la nouvelle lib comme ceci:

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

Cette fois, il n'a compiler avec succès, mais l'application de la force se ferme, car apparemment il ne peut pas trouver une classe spécifique de la lib dans le dossier de candidature.

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? Merci!

99voto

daniel_c05 Points 3469

Donc,

Étapes à suivre pour importer un POT sucesfully de votre projet à l'aide d'Android Studio 0.1.1:

  • Télécharger le library.jar fichier et le copier dans votre /libs/ dossier à l'intérieur de votre projet d'application.
  • Ouvrez le construire.gradle fichier et modifier vos dépendances afin d'inclure la nouvelle .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 votre racine du projet, j'ai.e 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • Sur l'invite de commande, tapez gradlew clean, attendre jusqu'à ce qu'il fait.
  • Rouvrez votre projet d'application dans Android Studio.
  • Test de l'exécution de votre application et il devrait fonctionner avec succès.

31voto

Tej Points 191

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

16voto

aknay Points 121

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

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

entrez la description de l'image ici

10voto

j2emanue Points 3456

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

  1. Faites glisser votre jar le fichier dans le dossier libs.
  2. Cliquez-droit sur l' jar le fichier et sélectionnez Ajouter de la Bibliothèque maintenant le fichier jar est une bibliothèque permet de l'ajouter à la compilation chemin
  3. Ouvrez l' build.gradle le fichier (remarque il y a deux build.gradle fichiers au moins, ne pas utiliser la racine, on utilise le un dans votre projet de périmètre).
  4. Trouver la section des dépendances (pour moi j'essayais de le admob -GoogleAdMobAdsSdk fichier jar) par exemple

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

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
    
  6. Enfin, Allez à Construire -> Projet de Reconstruction de

2voto

kiddie Points 85

vous exportez le projet à partir d’Eclipse, puis importez-le à partir d’Android Studio. Cela devrait résoudre votre problème. Si vous ouvrez un projet éclipse sans l’importer à partir d’Android Studio, vous pouvez poser des problèmes, regardez: (Excusez ma langue, je parle espagnol.) http : //developer.android.com/intl/es/sdk/installing/migrate.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X