Почему Android-накопители SDK для Android не хранятся в каком-либо хранилище Maven?
Есть ли какая-то причина, по которой привязка инструментов Android и банки разработки не находятся в репозитории Maven CEntral? Неужели это так, что никто этого не сделал? или есть некоторые проблемы с лицензированием? Я имею в виду все это с открытым исходным кодом? (за исключением API Google).
Я испытываю соблазн поставить себя на центральное репо, но я просто хочу быть уверенным, что кто-то еще этого не сделал, и что я не буду отвечать или играть в телефонную бирку с любыми юристами, поскольку результат.
Ответы
Ответ 1
В Google теперь есть официальный репозиторий maven, объявленный в Google IO 2017.
buildscript {
repositories {
maven {
// Google Maven Repository
url 'https://maven.google.com'
}
}
...
}
Что нового в Android Support Library (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
Ответ 2
Google заблокировал его. Из эта ссылка:
Артефакты Android были построены и опубликован в репозитории Maven благодаря усилиям Android для Maven. Google предотвратила официальные баннеры для Android от загружен в Maven, поэтому третий Party, Android для проекта Maven был начал предоставлять API-совместимый Android-артефакт, который может быть загружен в репозиторий Maven. Есть теперь артефакты для каждого крупного Версия Android доступна в Maven репозиторий. Они не являются функциональными, однако, и только обеспечить реализации API. Все методы во всех классах запускают среду выполнения исключение. Поскольку приложение для Android запускается на устройстве он никогда не будет использовать эти библиотеки для выполнения, но API совместимость позволяет приложению скомпилированный, как если бы он был настоящим библиотека.
Ответ 3
Я нашел лучшее решение, используя общие библиотеки, поставляемые SDK, я просто использовал Android Home в качестве репозитория в pom.xml.
<repositories>
<repository>
<id>com.android.support</id>
<url>file://${env.ANDROID_HOME}/extras/android/m2repository</url>
</repository>
</repositories>
теперь работает для меня.
Ответ 4
Можно использовать банки ANDROID_HOME
, указав систему <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>
Ответ 5
Я думаю, что они в центре maven:
http://mvnrepository.com/artifact/com.google.android/android
Пока не похоже, что у него 3.0, но у него есть довольно много старых версий. Вы можете создавать проекты андроида с помощью maven с помощью maven-android-plugin.