Y a-t-il une raison pour laquelle la chaîne d'outils Android et les pots de développement ne sont pas dans le référentiel Maven CEntral? Est-ce vraiment juste que personne ne l'a fait? Ou y a-t-il des problèmes de licence? Je veux dire que c'est tous open source non? (sauf pour les API Google).
Je suis tenté de le mettre moi-même dans un référentiel non central, mais je veux juste être sûr que quelqu'un d'autre ne l'a pas encore fait et que je ne correspondrai pas ou ne jouerai pas de numéro de téléphone avec des avocats.
Google a désormais un référentiel maven officiel annoncé sur Google IO 2017.
buildscript {
repositories {
maven {
// Google Maven Repository
url 'https://maven.google.com'
}
}
...
}
Nouveautés de Android Support Library (Google I/O '17)
https://youtu.be/V6-roIeNUY0?t=3m34s
Nouveautés de Android Outils de développement (Google I/O '17)
https://youtu.be/Hx_rwS1NTiI?t=20m05s
Référentiel Maven de Google
https://developer.Android.com/studio/build/dependencies.html#google-maven
Migrer vers le nouveau plugin
https://developer.Android.com/studio/preview/features/new-Android-plugin-migration.html
Google l'a bloqué. De ce lien :
Les artefacts Android Android ont été créés et publiés dans le référentiel Maven grâce aux efforts du projet Android pour le projet Maven. Google a empêché le Android jars de téléchargement vers Maven, donc, le tiers, Android pour le projet Maven a été lancé pour fournir un API compatible Android artefact qui pourrait être téléchargés dans le référentiel Maven. Il existe désormais des artefacts pour chaque version principale Android version disponible dans le référentiel Maven. Ils ne sont cependant pas fonctionnels et ne fournissent que des implémentations tronquées de l'API. Toutes les méthodes de toutes les classes lèvent une exception d'exécution. Parce qu'une application Android s'exécute sur un appareil, elle n'utilisera jamais ces bibliothèques pour l'exécution, mais la compatibilité de l'API permet de compiler une application comme si c'était la vraie bibliothèque.
J'ai trouvé une meilleure solution, en utilisant les bibliothèques communes fournies par le SDK, je viens d'utiliser Android Home comme référentiel dans le pom.xml.
<repositories>
<repository>
<id>com.Android.support</id>
<url>file://${env.Android_HOME}/extras/Android/m2repository</url>
</repository>
</repositories>
fonctionne pour moi maintenant.
Il est possible d'utiliser le Android_HOME
bocaux en spécifiant un système -<dependency>
avec <systemPath>
:
<properties>
<Android.platform>21</Android.platform>
</properties>
<dependencies>
<dependency>
<groupId>com.google.Android</groupId>
<artifactId>Android</artifactId>
<version>${Android.platform}</version>
<scope>system</scope>
<systemPath>${env.Android_HOME}/platforms/Android-${Android.platform}/Android.jar</systemPath>
</dependency>
</dependencies>
Je pense qu'ils sont dans Maven Central:
http://mvnrepository.com/artifact/com.google.Android/android
Il ne semble pas avoir encore 3.0, mais il a quelques révisions plus anciennes. Vous pouvez construire Android projets avec maven à l'aide de maven-Android-plugin .