Я работаю на структуру, которая поставляется заказчику в виде набора .aar
файлов, которые затем включены в свой проект, как это:Обеспечение приоритета библиотек в Android Gradle построить
...
+-- assets
+-- libs
+-- framework-module1.aar
+-- framework-module2.aar
+-- framework-module3.aar
+-- customer.aar
+-- main
...
Рамочную состоит из нескольких модулей, которые являются универсальными для всех клиентов, и один customer.aar
, который предоставляет код и конфигурацию, специфичную для клиента. Идея заключается в том, что код/ресурсы в customer.aar
переопределяют код/ресурсы по умолчанию для каждого клиента.
Проблема заключается в следующем:, когда создается окончательный .apk
, иногда значения являются настраиваемыми (по назначению), но иногда они по-прежнему являются стандартными. Полагаю, что порядок .aars
не собран в те времена.
В документации к инструментам сборки упоминаются приоритеты библиотек, но они относятся только к старой системе построения на основе Eclipse, а не к основанной на основе Eradipse.
Вот мой build.gradle
файл:
...
repositories {
flatDir {
dirs file('libs')
}
}
dependencies {
compile(name:'framework-module1', ext:'aar')
compile(name:'framework-module2', ext:'aar')
compile(name:'framework-module3', ext:'aar')
compile(name:'customer', ext:'aar')
}
...
Есть ли способ, что я могу сказать, что Gradle customer.aar
всегда должен идти последним в сборке?
Для моего опыта вы не можете указать порядок зависимостей –