Может ли кто-нибудь объяснить, что означает команда инструментов Android в этом коротком параграфе, приведенном ниже?Объясните стратегию переходных зависимостей, описанную в документации на Android Build
В частности: Что такое "somelib.jar"?
Являются ли они предполагающими, что я создаю новый субпроект, который имеет только зависимости, назовите его «projectA», а затем опубликуйте проект «projectA.jar»? (using artifacts.add ("default", file ('projectA.jar'))
Предполагаемое поведение, которое я хочу, состоит в том, чтобы публиковать «projectA.jar» вместе со своими зависимостями, не вызывая каких-либо «множественных файлов dex», ошибки
Цитата:.
Если у вас есть локальная баночку или библиотеку AAR, который вы хотите использовать в более , чем один проект, вы не можете просто ссылаться на него непосредственно, как местный зависимость это. ause плагин android будет жаловаться, если он находит тот же самый файл jar дважды при разработке проекта и всех его зависимостей . (Обратите внимание: прямо сейчас вы не можете использовать локальный файл , даже если вы ссылаетесь только на него).
Один из способов исправить это, чтобы развернуть артефакт в репозитории. В то время как возможно, это может быть не удобно из-за накладных расходов , управляющих таким репозиторием.
Другой вариант - создать новый подпроект Gradle и сделать этот артефакт проекта файлом jar или aar, который вы хотите использовать повторно для использования . Тогда вы можете просто использовать другие подпроекты Gradle в зависимости от этого нового подпроекта.
В этом новом суб-проекта, просто создать build.gradle с следующее:
configurations.create ("по умолчанию")
artifacts.add ("по умолчанию", файл ('somelib .jar '))