2016-05-30 7 views
2

У меня есть андроидная библиотека, распространяемая в формате аара. Это вес 300кб. Я хочу создать другую библиотеку, а также в формате aar, где первая библиотека в зависимостях. Но вес библиотеки результатов 30 КБ, поэтому, очевидно, он не включает первую библиотеку.Включите aar в aar

Я пытался добавить первую библиотеку с помощью flatDir:

repositories { 
    flatDir { 
     dirs 'libs' 
    } 
} 
dependencies { 
    compile(name:'mylib-1.0', ext:'aar') 
} 

и опубликовать mavenLocal с помощью maven-publish:

repositories { 
    mavenLocal() 
} 
dependencies { 
    compile 'com.mylib:mylib:[email protected]' 
} 

, но до сих пор она не включает в результате AAR.

Как включить мой первый аор для получения аара?

ответ

3

Лучший способ достичь этого - распределить аор с maven repo.

AAR файл не содержит транзитивных зависимостей и не имеет файла POM, который описывает зависимости, используемые библиотеки.
Это означает, что если вы импортируете файл aar с использованием репозитория flatDir, вы должны указать зависимости также в своем проекте.

Использование maven репозитория у вас не будет той же проблемы.
В этом случае gradle загружает зависимости, используя файл pom, который будет содержать список зависимостей.

+0

Извините, но я не вижу ответа на свой вопрос. Я хочу, чтобы эти зависимости были упакованы в результате aar. Как это сделать? О 'maven repository' Я так и не понял. Что мне делать? Я уже использую локальный репозиторий maven и имею ту же проблему. – anber

+0

@anber Как я знаю, нет автоматического способа включить аран внутри другого. Если вы используете локальный maven, вы должны проверить файл pom. Внутри вы должны иметь зависимость с другой lib (aar). –

+0

Я получил его, спасибо – anber

Смежные вопросы