J'ai expérimenté avec le nouveau système de construction Android et j'ai rencontré un petit problème. J'ai compilé mon propre paquet aar d'ActionBarSherlock que j'ai appelé 'actionbarsherlock.aar'. Ce que j'essaie de faire, c'est d'utiliser cet aar pour construire mon APK final. Si j'inclus toute la bibliothèque ActionBarSherlock en tant que module de bibliothèque Android à mon projet principal en utilisant le projet de compilation (': actionbarsherlock'), je suis en mesure de construire avec succès sans aucun problème.
Mais mon problème est que je veux fournir cette dépendance en tant que package de fichiers aar manuellement si je veux un JAR, alors je n'arrive pas à comprendre comment l'inclure correctement dans mon projet. J'ai essayé d'utiliser la configuration de compilation, mais cela ne semble pas fonctionner. Je continue à ne pas trouver de symbole pendant la compilation, ce qui m'indique que le fichier classes.jar du package aar n'est pas inclus dans le chemin de classe.
Quelqu'un connaît-il la syntaxe pour inclure manuellement un package aar en tant que fichier?
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('libs/actionbarsherlock.aar')
}
android {
compileSdkVersion 15
buildToolsVersion "17.0"
}
EDIT: Donc, la réponse est qu'il n'est pas actuellement pris en charge, voici le problème si vous souhaitez le suivre.
EDIT: Actuellement, comme cela n'est toujours pas pris en charge directement, la meilleure alternative semble être la solution proposée par @RanWakshlak
EDIT: Également plus simple en utilisant la syntaxe proposée par @VipulShah
la source
Réponses:
Veuillez suivre les étapes ci-dessous pour le faire fonctionner (je l'ai testé jusqu'à Android Studio 2.2)
Disons que vous avez conservé un fichier aar dans le dossier libs. (supposez que le nom du fichier est
cards.aar
)puis dans l'application,
build.gradle
spécifiez ce qui suit et cliquez sur le projet de synchronisation avec les fichiers Gradle. Ouvrez le niveau projet build.gradle et ajoutezflatDir{dirs 'libs'}
comme ci-dessouset maintenant ouvrir le fichier build.grdle au niveau de l'application et ajouter un
.aar
fichierSi tout se passe bien, vous verrez que l'entrée de la bibliothèque est faite dans build -> exploded-aar
Notez également que si vous importez un fichier .aar à partir d'un autre projet qui a des dépendances, vous devrez également les inclure dans votre build.gradle.
la source
compile
dépendance, ajoutez deux dépendancesdebugCompile(name:'cards-debug', ext:'aar')
etreleaseCompile(name:'cards-release', ext:'aar')
allprojects {...}
va au fichier de niveau "projet", et la deuxième partie avecdependencies {...}
doit aller au fichier de niveau "application".la source
Alt+B
projet de nettoyage et de reconstruction. Android Studio pourquoi vous êtes douloureux! Je souhaite avoir NetBeans IDE en tant que plateaar
lib à votre projetVous pouvez référencer un fichier aar à partir d'un référentiel. Un maven est une option, mais il existe une solution plus simple: mettez le fichier aar dans votre répertoire libs et ajoutez un référentiel de répertoire.
Référencez ensuite la bibliothèque dans la section des dépendances:
Vous pouvez consulter le blog Min'an pour plus d'informations.
la source
implementation
etc. C'est copier-coller la solution. Beaucoup de nouveaux votes positifs arrivent car Android Build Gradle Plugin 4.0.0 génère maintenant une erreur au lieu d'ignorer les chemins d'accès .aar rompusL'approche ci-dessous fonctionne avec le dernier studio Android (> v0.8.x):
Enregistrez le
aar
fichier sous du module applibs
dossier (par exemple:<project>/<app>/libs/myaar.aar
)Ajoutez ce qui suit à build.gradle de votre dossier de module "app" (pas à votre racine de projet build.gradle). Notez le nom dans la ligne de compilation, c'est myaar @ aar et non myaar.aar.
Cliquez sur
Tools -> Android -> Sync Project with Gradle Files
la source
avant (par défaut)
il suffit d' ajouter
'*.aar'
auinclude
tableau.cela fonctionne bien sur Android Studio 3.x.
si vous voulez ignorer une bibliothèque? fait comme ça.
la source
implementation fileTree(include: ['*.?ar'], dir: 'libs')
Je viens de réussir!
Copiez le fichier mylib-0.1.aar dans le dossier libs /
Ajoutez ces lignes au bas de build.gradle (devrait être une application, pas un projet):
Jusqu'ici tout va bien. Voici le point le plus important:
Gradle doit accéder au réseau pour les dépendances, sauf si le mode hors ligne est activé.
Assurez-vous que vous avez activé le travail hors ligne via la case à cocher dans Project Structures / Gradle
-- OU --
Configurez les paramètres du proxy pour accéder au réseau.
Pour configurer les paramètres du proxy, vous devez modifier le fichier gradle.properties du projet , en configurant séparément http et https comme ci-dessous:
J'espère que cela fonctionne.
la source
Le référencement actuel d'un fichier .aar local n'est pas pris en charge (comme confirmé par Xavier Ducrochet)
Ce que vous pouvez faire à la place est de configurer un référentiel Maven local (beaucoup plus simple qu'il n'y paraît) et de référencer le .aar à partir de là.
J'ai écrit un article de blog détaillant comment le faire fonctionner ici:
http://www.flexlabs.org/2013/06/using-local-aar-android-library-packages-in-gradle-builds
la source
Vous pouvez ajouter plusieurs
aar
dépendances avec seulement quelques lignes de code.Ajouter un
flatDir
référentiel local :Ajoutez chaque répertoire
aar
inlibs
àcompile
la configuration des dépendances:la source
libs
dossier.Malheureusement, aucune des solutions ici n'a fonctionné pour moi (j'obtiens des dépendances non résolues). Ce qui a finalement fonctionné et est le moyen le plus simple à mon humble avis est: Mettez en surbrillance le nom du projet à partir d'Android Studio puis Fichier -> Nouveau module -> Importer le package JAR ou AAR. Le mérite revient à la solution dans cet article
la source
Il y a 2 façons:
La première façon
Create New Module
fenêtre enFile -> New -> New Module
Sélectionnez l'
Import .JAR/.AAR Package
élément et cliquez sur leNext
boutonAjoutez une dépendance dans le
build.gradle
fichier qui appartient à votreapp
module.C'est tout.
La deuxième voie
Créez un dossier dans le
libs
répertoire, tel queaars
.Mettez votre bibliothèque aar dans le dossier aars.
Ajouter l'extrait de code
dans votre
build.gradle
fichier appartient au module d'application.build.gradle
fichier qui appartient à votreapp
module.C'est tout.
Si vous pouvez lire le chinois, vous pouvez consulter le blog 什么 是 AAR 文件 以及 如何 在 Android 开发 中 使用
la source
Avec Android Studio 3.4 et Gradle 5, vous pouvez simplement le faire comme ceci
la source
METTRE À JOUR ANDROID STUDIO 3.4
la source
J'ai également eu ce problème. Ce rapport de problème: https://code.google.com/p/android/issues/detail?id=55863 semble suggérer que le référencement direct du fichier .AAR n'est pas pris en charge.
Peut-être que l'alternative pour l'instant est de définir la bibliothèque actionbarsherlock comme une bibliothèque Gradle sous le répertoire parent de votre projet et de la référencer en conséquence.
La syntaxe est définie ici http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Referencing-a-Library
la source
J'ai trouvé cette solution de contournement dans le suivi des problèmes Android: https://code.google.com/p/android/issues/detail?id=55863#c21
L'astuce (pas un correctif) consiste à isoler vos fichiers .aar dans un sous-projet et à ajouter vos bibliothèques en tant qu'artéfacts:
Plus d'informations: Gestion des dépendances transitives pour les artefacts-locaux-pots-et-aar
la source
compile project(':mobile')
dans android / app / build.gradle,configurations.maybeCreate("default")
dans android / mobile / build.gradle,include ':mobile'
dans android / settings.gradleDans mon cas, j'ai des dépendances dans ma bibliothèque et quand j'en crée une à
aar
partir de celle-ci, j'ai échoué, à cause de dépendances manquées, donc ma solution est d'ajouter toutes les dépendances de ma bibliothèque avec unarr
fichier.Donc, mon niveau de projet
build.gradle
ressemble à ceci:build.gradle(modile app)
donc:et bibliothèque
build.gradle
:la source
J'ai essayé toutes les solutions ici mais aucune ne fonctionne, puis je me rends compte que j'ai fait une erreur, j'ai mis le
.aar
mauvais dossier, comme vous pouvez le voir ci-dessous, j'ai pensé que je devrais mettre dans le dossier racine, alors j'ai créé unlibs
dossier là-bas (1 dans l'image ), mais dans le dossier de l'application, il y a déjà unlibs
, vous devriez le mettre en second lieulibs
, j'espère que cela aidera ceux qui ont le même problème que le mien:la source
La manière standard d'importer un fichier AAR dans une application est donnée dans https://developer.android.com/studio/projects/android-library.html#AddDependency
Cliquez sur Fichier> Nouveau> Nouveau module. Cliquez sur Importer le package .JAR / .AAR, puis sur Suivant. Entrez l'emplacement du fichier AAR ou JAR compilé, puis cliquez sur Terminer.
Veuillez consulter le lien ci-dessus pour les prochaines étapes.
la source
Simplement pour simplifier la réponse
Si le fichier .aar est présent localement, incluez-le
compile project(':project_directory')
dans les dépendances de build.gradle de votre projet.Si le fichier .aar est présent à distance, incluez-le
compile 'com.*********.sdk:project_directory:0.0.1@aar'
dans les dépendances de build.gradle de votre projet.la source
Dans mon cas, il suffit de travailler lorsque j'ajoute "projet" pour compiler:
la source
vous pouvez faire quelque chose comme ça:
Mettez vos bibliothèques locales (avec l'extension: .jar, .aar, ...) dans le dossier 'libs' (ou un autre si vous le souhaitez).
Dans build.gradle (niveau application), ajoutez cette ligne dans les dépendances
fileTree d'implémentation (inclure: ['* .jar', '* .aar'], dir: 'libs')
la source