Почему Android SDK Jars нет ни в одном репозитории Maven?

Есть ли причина, по которой цепочка инструментов Android и банки разработки отсутствуют в репозитории Maven CEntral? Неужели только этого никто не делал? или есть какие-то проблемы с лицензией? Я имею в виду, что это все с открытым исходным кодом, верно? (кроме API Google).

У меня возникает соблазн разместить его самостоятельно в нецентральном репо, но я просто хочу быть уверенным, что кто-то еще этого не сделал, и что в результате я не буду переписываться или играть в телефонные звонки с какими-либо юристами.


person shemnon    schedule 09.03.2011    source источник


Ответы (5)


У Google теперь есть официальный репозиторий maven, анонсированный на Google IO 2017.

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

Что нового в библиотеке поддержки Android (Google I/O '17)
https://youtu.be/V6-roIeNUY0?t=3m34s

Что нового в средствах разработки для Android (Google I/O '17)
https://youtu.be/Hx_rwS1NTiI?t=20m05s

Репозиторий Google Maven
https://developer.android.com/studio/build/dependencies.html#google-maven

Переход на новый подключаемый модуль
https://developer.android.com/studio/preview/features/new-android-plugin-migration.html

person Ryan R    schedule 18.05.2017
comment
Это только для библиотек, а не для SDK, верно? - person Innova; 23.05.2017
comment
Я не думаю, что он содержит SDK. Кто-нибудь еще может проверить? - person Ryan R; 24.05.2017
comment
Прямо сейчас этот URL-адрес выдает ошибку 404, может быть, он еще не в сети? - person Panayotis; 30.05.2017
comment
Теперь вы также можете просто сделать: repositories { google() } - person Eric; 17.06.2017

Гугл заблокировал. Из этой ссылки:

Артефакты Android были созданы и опубликованы в репозитории Maven благодаря усилиям проекта Android for Maven. Google предотвратил загрузку официальных jar-файлов Android в Maven, поэтому был запущен сторонний проект Android для Maven, чтобы предоставить API-совместимый артефакт Android, который можно было бы загрузить в репозиторий Maven. Теперь в репозитории Maven доступны артефакты для каждой основной версии Android. Однако они не работают и предоставляют только заглушки реализации API. Все методы во всех классах вызывают исключение времени выполнения. Поскольку приложение для Android запускается на устройстве, оно никогда не будет использовать эти библиотеки для выполнения, но совместимость с API позволяет компилировать приложение так, как если бы оно было настоящей библиотекой.

person thomaux    schedule 28.03.2011
comment
@shemnon - Да, это был бы короткий ответ :) - person thomaux; 01.04.2011
comment
@Blundell решает ли это проблему развертывания в Maven Central? - person Adam; 26.11.2013
comment
@adam Вы можете развернуть их локально, поэтому вам не нужно беспокоиться о центральном да. - person Blundell; 26.11.2013
comment
@Blundell дело в возможности развертывания библиотек Android в центральном хранилище, чтобы другие могли их использовать. В настоящее время вы можете сделать это для библиотек, которые зависят от API до версии 4.2, потому что люди загрузили урезанные версии старых API Android. - person Adam; 05.12.2013
comment
@ Адам, вы также можете создать свое собственное репо, как это сделали мы: github.com/novoda/public- mvn-репо - person Blundell; 06.12.2013

Я нашел лучшее решение, используя общие библиотеки, поставляемые SDK, я просто использовал Android Home в качестве репозитория в pom.xml.

 <repositories>
    <repository>
        <id>com.android.support</id>
        <url>file://${env.ANDROID_HOME}/extras/android/m2repository</url>
    </repository>
</repositories>

работает для меня сейчас.

person Marco    schedule 14.01.2015

Можно использовать банки ANDROID_HOME, указав system-<dependency> с <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>
person Johannes Brodwall    schedule 15.08.2016
comment
Я думаю, что это должно быть ${env.ANDROID_HOME} кстати - person Sean Owen; 24.01.2017
comment
@SeanOwen: кажется, что и ${ANDROID_HOME}, и ${env.ANDROID_HOME} работают, когда я их пробую. (Windows 7, Java 1.8.102, Maven 3.2.5) Вы получаете другое поведение? Какая у вас платформа? - person Johannes Brodwall; 26.01.2017
comment
Я на OS X. У меня это не сработало, но есть шанс, что я просто запутался. - person Sean Owen; 26.01.2017
comment
Я обновил его. Так как это работает в обоих направлениях для меня и только в одном случае для одного другого человека, это лучше всего. :-) - person Johannes Brodwall; 26.01.2017

Я думаю, что они находятся в центре maven:

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

Не похоже, что у него еще 3.0, но есть довольно много старых версий. Вы можете создавать проекты Android с помощью maven с помощью maven-android-plugin. .

person Erich Douglass    schedule 09.03.2011
comment
Это просто банки для платформы, вещи для времени выполнения. Я ищу такие вещи, как sdklib.jar, в качестве APKPackager. (пакет com.android.sdklib.build). - person shemnon; 10.03.2011
comment
Кроме того, на втором шаге maven-android-plugins говорится об установке SDK Google Android. Я действительно думаю, что maven должен иметь возможность загружать для меня Интернет. почему я должен делать это сам? - person shemnon; 10.03.2011
comment
Ах, моя ошибка. Недавно я сделал несколько проектов для Android, так что я имел это в виду :) - person Erich Douglass; 10.03.2011