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.
-
télécharger une nouvelle copie du SDK Admobs de Google.
-
copier le JAR de bibliothèque
GoogleAdMobAdsSdk-6.4.1.jar
dans le dossier /libs/ du projet. -
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à:
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?
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.
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
Easy way et ça marche pour moi. Utilisant Android Studio 0.8.2.
- faites Glisser le fichier jar en vertu de la libs.
- Appuyez sur "Sync Projet avec Gradle des Fichiers" bouton.
"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!
Voici comment je l'ai obtenu aller spécifiquement pour le admob sdk jar fichier:
- faites glisser votre fichier
jar
dans le dossier libs. - 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 - ouvrir le fichier
build.gradle
(notez qu'il y a au moins deux fichiersbuild.gradle
, n'utilisez pas le la racine utiliser l'une dans vos projet de périmètre). -
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') }
-
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'
- enfin, passer à construire - > projet de reconstruction
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
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.
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:
- Menu sous fichiers-- > Structure du projet
- Juste appuyez sur ' F4 '
- 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.
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.
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')
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.