Как импортировать библиотечный модуль Android (AAR) с помощью gradle cli

Я разрабатываю модуль библиотеки Android в формате AAR. Мне очень хлопотно вручную импортировать модуль с помощью мастера Android Studio каждый раз, когда мне нужно протестировать изменения библиотеки в примере приложения Android. Я изменил свой подход к использованию символической ссылки и связыванию сгенерированного AAR на стороне библиотеки с AAR на стороне примера приложения и просто сборке и синхронизации Gradle через Android Studio.

Однако этот процесс все еще не самый лучший, потому что мне нужно вручную нажимать кнопки в Studio, чтобы добиться этого. Я хотел бы написать простой скрипт с использованием Gradle CLI и/или bash, который позволит мне со стороны приложения импортировать модуль в приложение из некоторого каталога и синхронизировать Gradle приложения после импорта.

Это возможно? Спасибо.


person Joel Pou    schedule 30.05.2019    source источник


Ответы (1)


Вам не нужно каждый раз импортировать библиотечный модуль. Сделайте свою библиотеку одним из модулей и свяжите зависимость между приложением и библиотекой.

Убедитесь, что библиотека указана в верхней части файла settings.gradle, как показано здесь для библиотеки с именем «my-library-module»:

include ':app', ':my-library-module'

Откройте файл build.gradle модуля приложения и добавьте новую строку в блок зависимостей, как показано в следующем фрагменте:

dependencies {
    implementation project(":my-library-module")
}

И строить с помощью командной строки.

gradlew assembleDebug

https://developer.android.com/studio/projects/android-library

person Ranjan Kumar    schedule 31.05.2019
comment
Я имел в виду, как впервые импортировать библиотеку из каталога библиотеки в каталог библиотеки приложения, используя параметры командной строки, а не мастер импорта модуля Android Studio. Вам нужно повторно импортировать библиотеку каждый раз, когда вы вносите изменения, иначе вы не увидите изменений на стороне приложения, и поэтому я использовал подход с символической ссылкой, чтобы избежать этого. - person Joel Pou; 31.05.2019
comment
Если библиотека включена как зависимость проекта, то она должна собираться каждый раз при изменении исходного кода библиотеки. - person Ranjan Kumar; 01.06.2019
comment
Это неверно, потому что вы уже импортировали AAR в каталог библиотеки приложения, и этот файл AAR не указывает на недавно созданный AAR библиотеки, который находится в собственном проекте Android (и каталоге). Таким образом, каждый раз, когда вы редактируете библиотеку и создаете ее, вы получаете новый AAR, независимый от того, который уже есть в приложении. Таким образом, обновление AAR библиотеки не приводит к обновлению AAR приложения. Не стесняйтесь попробовать это. - person Joel Pou; 03.06.2019
comment
Создайте модуль библиотеки Android, который имеет «исходный код вашей библиотеки», а затем «ваше приложение, имеющее зависимость от этого проекта библиотеки», будет использовать последнее изменение в коде вашей библиотеки. - person Ranjan Kumar; 04.06.2019
comment
Уже пробовал этот подход много раз, но, как я уже говорил ранее, вы никогда не получите последние изменения при синхронизации градации приложения (которая синхронизирует градацию вашего AAR) без повторного импорта AAR в приложение. Если бы этот подход работал, я бы не стал писать эту тему. Однако я ценю помощь, спасибо. - person Joel Pou; 07.06.2019