Транзитивные зависимости AAR в Maven

Я создаю приложение для Android из проекта Maven, в котором используется Android-maven-plugin. В этом проекте я использую новую бета-библиотеку привязки данных.

Он содержится в локальном m2-хранилище Android SDK (extras / android / m2repository). Библиотеки в этом репозитории упакованы как тип aar.

Я могу добавить зависимость в моем пом, как это:

<dependency> <groupId>com.android.databinding</groupId> <artifactId>library</artifactId> <version>1.0-rc1</version> <type>aar</type> </dependency> 

Это похоже на работу, но сборка не справляется с этим:

Не удалось выполнить цель в демонстрации проекта: не удалось разрешить зависимости для проекта com.simpligility.android:demo:apk:1.0.0: Не удалось найти com.android.support:support-v4:jar:21.0.3 в файле: / // Пользователи / eppleton / Java Libraries / android-sdk-macosx / extras / android / m2repository были кэшированы в локальном репозитории, разрешение не будет повторно загружено до тех пор, пока не истечет интервал обновления для android-local-extras или обновления принудительно -> [Помощь 1]

Правильно, что в этом локальном репозитории нет поддержки-v4: jar, так как в версии API версии 20 есть поддержка-v4: aar.

Есть ли способ заставить maven искать аар вместо банки?

Ps: Для моих собственных локальных сборников у меня есть несколько обходных решений (например, переупаковка как банка), но я бы предпочел более общее решение, так как я хочу поделиться конфигурацией в архетипе maven, и я не хочу, чтобы пользователи делали это Много ручной работы. Сейчас это лучшее решение, которое у меня есть:

  <dependency> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> <version>21.0.3</version> <scope>system</scope> <systemPath>${android.sdk.path}/extras/android/support/v4/android-support-v4.jar</systemPath> </dependency> 

Но это не очень приятно, переходные зависимости разрешены, поскольку aar будет намного приятнее.

Хорошо, нашел решение. Я могу исключить зависимость и добавить ее снова непосредственно как тип «aar»:

  <dependency> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> <version>21.0.3</version> <type>aar</type> </dependency> <dependency> <groupId>com.android.databinding</groupId> <artifactId>library</artifactId> <version>1.0-rc1</version> <type>aar</type> <exclusions> <exclusion> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> </exclusion> </exclusions> </dependency> 
Intereting Posts
Ресурсы библиотеки с Robolectric 3 – JodaTime Как играть в звук уведомления об андроиде Активность Android как диалог Обратная совместимость материалов Создайте 2D-штрих-код (например, QR-код, матрицу данных, PDF417) на iPhone и Android Воспроизведение локального видео в WebView на Android Повреждение ткани при запуске Android html.fromhtml загрузить изображение из Интернета JavascriptInterface в веб-браузере Android: несколько вызовов JS вызывают блокировку Как заполнить изображение внутри ImageView пользовательской левой и верхней координатами | Android Скрытие клавиатуры после вызова новой операции, которая показывает ProgressDialog Как изменить направление названия CollapsingToolbarLayout? Почему мой список не прокручивается? Android: добавление мелодии звонка для контакта не работает с контактом, который я только что добавил, но работает над контактом, который я добавил в предыдущую синхронизацию Как реализовать эффекты искажения изображения в Android