Android Studio comprennent tous les aar fichiers dans un répertoire
Je suis en train d'écrire un système de construction pour un cadre qui peut être étendu via des plugins par les utilisateurs (développeurs). Mon problème est que je ne peut pas inclure tous les aar fichiers avec un masque. Par exemple je peux inclure tous les fichiers jar comme ceci:
compile fileTree(dir: 'libs', include: '*.jar')
Mais si je comprend tous les aar fichiers comme ceci:
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
J'obtiens une erreur:
Only Jar-type local dependencies are supported. Cannot handle: /path/to/file.aar
Toutefois, il est possible d'inclure chaque fichier séparément comme ceci:
compile (name:'myfile', ext:'aar')
Comme une solution de contournement, lors de la compilation, j'ai besoin de la liste des fichiers dans 'libs' répertoire, insérer toutes les bibliothèques manuellement dans mon construire.gradle et de le synchroniser (ou de réécrire à chaque fois). c'est un hackish moyen de le faire et donc je me demande si il ya une meilleure façon de le faire. Peut-être qu'il est un gradle script qui peut le faire automatiquement ou certains gradle bêta, qui prend en charge ce:
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
- Vous pouvez trouver plus d'informations sur les avancées de gestion de la dépendance avec Gradle dans ma question et la réponse ici stackoverflow.com/q/31662781/746347
Vous devez vous connecter pour publier un commentaire.
D'abord ajouter
flatDir
référentiel:Puis après
dependencies
section ajouter:aar
fichiers de la bibliothèque et ils n'ont pas l'information (pom.xml
) sur les dépendances afin de transitivité n'a pas de sens dans ce cas. Vous pouvez en lire plus dans cette réponse, stackoverflow.com/a/35311889/746347Only Jar-type local dependencies are supported. Cannot handle .aar
mises en garde, de sorte qu'il n'a pas de travail, je suis sur gradle 2.13.compile fileTree(dir: 'libs/compile', include: '**/*.aar')
. Au lieu de cela, vous devriez par programme itérer sur tous les aar fichiers et ajouter des dépendances commecompile(name:'<name of aar file without extension>', ext: 'aar')
. Et ma réponse ne ce. Juste ajouter un extrait de code de ma réponse aprèsdependencies
section.Vous pouvez mettre votre aar fichiers dans un dossier.
Vous devez définir ce dossier à l'intérieur de la
repositories
bloc. Bien sûr, vous pouvez utiliser le dossier libsQuelque chose comme:
Alors vous pouvez utiliser dans vos dépendances quelque chose comme:
Que je sache il n'y a aucun moyen de incluse tous les aars avec un caractère générique *.
Je sais que cette réponse est en retard dans le jeu, mais pour les autres, de venir ici, j'ai réussi sans l'aide du référentiel.flatDir.
Il suffit d'ajouter le fileTree() APRÈS la section des dépendances
Only Jar-type local dependencies are supported
. Qui android gradle construire plugin tu utilises?