Je suis conscient de cette question: ajouter des fichiers .aar locaux à ma version gradle mais la solution ne fonctionne pas pour moi.
J'ai essayé d'ajouter cette déclaration au niveau supérieur de mon build.gradle
fichier:
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
J'ai également mis le slidingmenu.aar
fichier /libs
et je l'ai référencé dans la dependencies
section: compile 'com.slidingmenu.lib:slidingmenu:1.0.0@aar'
mais cela n'a pas fonctionné du tout.
J'ai essayé compile files('libs/slidingmenu.aar')
aussi mais sans succès .
Qu'est-ce que je rate? Des idées?
PS Android Studio 0.8.2
android
android-studio
android-gradle-plugin
build.gradle
aar
Alexey Dmitriev
la source
la source
Réponses:
Sur la base de la réponse de Josiah, voici comment je l'ai fait fonctionner.
Suivez ses instructions (en cours d'édition) ( Fichier -> Nouveau-> Nouveau module -> Importer .JAR / .AAR ) et importez votre .AAR.
Ensuite, dans votre projet build.gradle (pas celui de niveau supérieur, celui sous 'app'), ajoutez ce qui suit (dans la section des dépendances):
Remarque Name-Of-Your-Project doit correspondre au nom du dossier qui a été ajouté après l'importation du fichier AAR (au même niveau que
app/.idea
sous le dossier de niveau supérieur). Ou pour le dire autrement ...Cela a fonctionné pour moi sous Android Studio 0.8.0. N'oubliez pas de synchroniser gradle (en utilisant le bouton de la barre d'outils ou dans Fichier-> Synchroniser ) après avoir fait cela.
(Merci à Josiah pour m'avoir poussé dans la bonne direction)
(Remarque: avant cela, j'ai essayé de l'ajouter au dossier libs, en essayant de manipuler le niveau supérieur
build.gradle
et le niveau de l'applicationbuild.gradle
, mais rien de tout cela n'a fonctionné pour mes fichiers aars - les fichiers jar fonctionneront bien, mais pas les fichiers aar)la source
Error:(25, 0) Required keys [path] are missing from map {name=mylibrary-debug}.
si j'utilisecompile project(name:'mylibrary-debug')
.. Que me manque-t-il?compile project(':Name-Of-Your-Project')
, j'ai remplacéName-Of-Your-Project
par le nom de mon fichier .aar (sans l'.aar
extension). Et ça a marché.Mise à jour : comme @ amram99 l'a mentionné, le problème a été résolu depuis la sortie d'Android Studio v1.3.
Testé et vérifié avec les spécifications ci-dessous
Ce qui fonctionne maintenant
Vous pouvez maintenant importer un fichier aar local via l' option Fichier> Nouveau> Nouveau module> Importer un package .JAR / .AAR dans Android Studio v1.3
Cependant, la réponse ci-dessous est vraie et efficace quelles que soient les modifications d'Android Studio, car elles sont basées sur des scripts gradle.
Ancienne réponse: Dans une mise à jour récente, les gens d'Android ont interrompu l'inclusion de fichiers AAR locaux via l'option de menu Ajouter un nouveau module d'Android Studio. Vérifiez le problème répertorié ici. Indépendamment de tout ce qui entre et sort de la liste des fonctionnalités de l'EDI, la méthode ci-dessous fonctionne lorsqu'il s'agit de travailler avec des fichiers aar locaux (testée aujourd'hui):
Placez le fichier aar dans le répertoire libs (créez-le si nécessaire), puis ajoutez le code suivant dans votre build.gradle:
la source
repositories
partie va dans un autrebuild.gradle
pour fonctionner - le global. Ladependencies
partie va dans le modulebuild.gradle
. C'est pourquoi j'ai eu l'erreur.Modifier: La manière correcte (actuellement) d'utiliser un fichier AAR local comme dépendance de construction est d'utiliser l'assistant d'importation de module (Fichier | Nouveau module | Importer le package .JAR ou .AAR) qui ajoutera automatiquement le .aar en tant que module de bibliothèque dans votre projet.
Ancienne réponse
Essaye ça:
la source
flatDir { dirs 'libs' }
Je l'ai fait fonctionner sur Android Studio 2.1. J'ai un module appelé "Native_Ads" qui est partagé entre plusieurs projets.
Tout d'abord, j'ai créé un répertoire dans mon module Native_ads avec le nom «aars», puis j'ai mis le fichier aar là-dedans.
Structure du répertoire:
Ensuite, les autres changements:
Fichier Gradle de niveau supérieur:
Fichier build.gradle du module d'application: - aucun changement
Fichier Settings.gradle (pour inclure le module):
Fichier Gradle pour le module Native_Ads:
C'est tout. Nettoyez et construisez.
la source
Le moyen le plus simple est maintenant de l'ajouter en tant que module
Cela créera un nouveau module contenant le fichier aar, il vous suffit donc d'inclure ce module en tant que dépendance par la suite
la source
next
bouton est grisé dans laCreate New Module
boîte de dialogue après avoir sélectionné ImporterJAR/AAR Package
?.aar
fichier se trouve dans un répertoire de projet, j'ai simplement placé le.aar
sur mon bureau et réessayé et cela fonctionne, merci pour votre solution!so you just need to include that module as a dependency afterwards
- comment faites-vous cela?include
dans lesettings.gradle
était censé être suffisant. Je l'ai fait fonctionner. Merci!Voici ma structure et comment je résous ceci:
Sur build.gradle
depuis Project / app / myModulesFolder / myLibXYZ
J'ai mis ceci:
Fait et fonctionne très bien, mon sous-module XYZ dépend de la bibliothèque du module principal.
la source
Vous pouvez le faire de cette façon. Il doit être au format maven:
Et puis votre AAR doit aller dans une structure de dossiers pour un identifiant de groupe "com.example":
Puis référence en tant que dépendance:
compile 'com.example:myaar:version@aar'
Où
version
est la version de votre fichier aar (c.-à-d., 3.0, etc.)la source
Pour tous ceux qui ont ce problème à partir d'Android Studio 1.4, je l'ai fait fonctionner en créant un module dans le projet qui contient 2 choses.
build.gradle avec le contenu suivant:
configurations.create("default")
artifacts.add("default", file('facebook-android-sdk-4.7.0.aar'))
le fichier aar (dans cet exemple 'facebook-android-sdk-4.7.0.aar')
Incluez ensuite la nouvelle bibliothèque en tant que dépendance de module. Vous pouvez maintenant utiliser un aar intégré sans inclure les sources dans le projet.
Crédit à Facebook pour ce hack. J'ai trouvé la solution en intégrant le SDK Android dans un projet.
la source
apply plugin: 'com.android.application'
pourapply plugin: 'com.android.library'
Dans mon cas, aucune des réponses ci-dessus n'a fonctionné! depuis que j'avais des produits différents
repositories{ flatDir{ dirs 'libs' } }
n'a pas marché! J'ai fini par spécifier l'emplacement exact du répertoire libs :
}
Je suppose que l'on devrait introduire flatDirs comme celui-ci quand il y a différents productFlavors dans build.gradle
la source
Dans mon cas, je viens de mettre le fichier aar dans les libs, et d'ajouter
dependencies { ... api fileTree(dir: 'libs', include: ['*.aar']) ... }
dans build.gradle et cela fonctionne. Je pense que c'est similaire avec la dépendance générée par défaut:
implementation fileTree(dir: 'libs', include: ['*.jar'])
la source
Cette ligne comprend tous les fichiers
aar
et lesjar
fichiers dulibs
dossier:la source
Cette solution fonctionne avec Android Studio 4.0.1.
En plus de créer un nouveau module comme suggéré dans la solution ci-dessus, vous pouvez essayer cette solution.
Si vous avez plusieurs modules dans votre application et que vous souhaitez ajouter un aar à un seul module, cette solution est pratique.
Dans votre projet racine build.gradle
ajouter
Puis dans le module où vous souhaitez ajouter le fichier .aar localement. ajoutez simplement ci-dessous des lignes de code.
}
Bon codage :)
la source
Ajouter ci-dessous dans le projet d'implémentation du fichier de gradle d'application (chemin: ': nom du projet')
la source
Si vous utilisez déjà Kotlin Gradle DSL, l'alternative à l'utiliser de cette façon:
Voici ma structure de projet
ma
app/build.gradle.kts
fileTree
flatDirs
Le
group
était nécessaire, en raison de son obligatoire (pas facultatif / a une valeur par défaut) dans kotlinimplementation
, voir ci-dessous:Avertissement: La différence en utilisant l'
flatDirs
approche n ° 1 et n ° 2, je ne sais toujours pas grand-chose, vous voudrez peut-être modifier / commenter cette réponse.Références:
la source
Cette solution fonctionne avec Android Studio 4.0.1.
En plus de créer un nouveau module comme suggéré dans la solution ci-dessus, vous pouvez essayer cette solution.
Si vous avez plusieurs modules dans votre application et que vous souhaitez ajouter un aar à un seul module, cette solution est pratique.
Dans votre projet racine build.gradle
ajouter
Puis dans le module où vous souhaitez ajouter le fichier .aar localement. ajoutez simplement ci-dessous des lignes de code.
}
Bon codage :)
la source