Pourquoi les SDK Android ne sont-ils pas dans un référentiel Maven?

Y a-t-il une raison pour laquelle les outils Android et les jars de développement ne sont pas dans le référentiel Maven CEntral? Est-ce vraiment juste que personne ne l’a fait? ou existe-t-il des problèmes de licence? Je veux dire que tout est open source, n’est-ce pas? (sauf pour les API Google).

Je suis tenté de le mettre moi-même dans un repo non central, mais je veux juste être sûr que quelqu’un d’autre ne l’a pas encore fait et que je ne vais pas correspondre ou jouer de la balise téléphonique avec un avocat.

Google a maintenant un repository officiel de maven annoncé lors de Google IO 2017.

buildscript { repositories { maven { // Google Maven Repository url 'https://maven.google.com' } } ... } 

Nouveautés de la bibliothèque de support Android (Google I / O ’17)
https://youtu.be/V6-roIeNUY0?t=3m34s

Nouveautés des outils de développement Android (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 ont été créés et publiés dans le référentiel Maven grâce aux efforts du projet Android for Maven. Google a empêché que les fichiers Android officiels soient téléchargés sur Maven, de sorte que le projet Android for Maven de tiers a été lancé pour fournir un artefact Android compatible avec l’API qui pourrait être téléchargé dans le référentiel Maven. Il existe désormais des artefacts pour chaque version majeure d’Android disponible dans le référentiel Maven. Celles-ci ne sont pas fonctionnelles, cependant, et ne fournissent que des implémentations stubbed de l’API. Toutes les méthodes de toutes les classes lancent une exception d’exécution. Comme une application Android s’exécute sur un périphérique, elle n’utilisera jamais ces bibliothèques pour l’exécution, mais la compatibilité de l’API permet de comstackr une application comme s’il s’agissait de la véritable bibliothèque.

J’ai trouvé une meilleure solution, en utilisant les bibliothèques communes fournies par SDK, j’ai simplement utilisé Android Home comme référentiel dans le fichier pom.xml.

    com.android.support file://${env.ANDROID_HOME}/extras/android/m2repository   

ça marche pour moi maintenant

Il est possible d’utiliser les ANDROID_HOME en spécifiant un :

  21    com.google.android android ${android.platform} system ${env.ANDROID_HOME}/platforms/android-${android.platform}/android.jar   

Je pense qu’ils sont dans maven central:

http://mvnrepository.com/artifact/com.google.android/android

Il ne semble pas encore avoir de version 3.0, mais il a quelques révisions plus anciennes. Vous pouvez construire des projets Android avec maven avec l’aide de plugin maven-android .