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.
Téléchargez une nouvelle copie du SDK Admobs de Google.
Copier le fichier bibliothèque GoogleAdMobAdsSdk-6.4.1.jar
dans le dossier/libs/du projet.
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à:
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?
Alors,
Étapes à suivre pour importer un fichier JAR dans votre projet avec Android Studio 0.1.1:
compile files('libs/Android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
gradlew clean
, attendez que ce soit fait.Vous n'avez pas besoin de fermer le projet et d'aller en ligne de commande pour appeler grade: clean. Allez à Build-> Rebuild Project
C'est facile et ça marche pour moi. Utilisation de Android Studio 0.8.2.
"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!
Voici comment je l'ai eu spécifiquement pour le fichier admob sdk jar:
jar
dans le dossier libs.jar
et sélectionnez Ajouter une bibliothèque maintenant le fichier jar est une bibliothèque, ajoutez-le au chemin de compilationbuild.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).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')
}
Dernière entrée dans settings.gradle
et assurez-vous qu'il ressemble à ceci:
include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
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
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.
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:
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.
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.
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 ')