Плагин Android Gradle 3.0.0-alpha4 - не выбирает библиотеки .so из локального AAR

В настоящее время я переношу свой проект Android на последнюю версию плагина Android Gradle, чтобы использовать его с Android Studio 3.0.

Кажется, все работает нормально, за исключением того факта, что файлы собственных библиотек .so, которые у меня есть в локальном файле AAR, не упакованы в окончательный APK. В нем нет папки lib.

Мой проект уже определял два измерения вкуса, и я не вижу никаких ошибок или предупреждений об этом, поэтому я думаю, что проблема не в этом.

Плагин Android Gradle:

classpath 'com.android.tools.build:gradle:3.0.0-alpha4'

Версия Gradle — 4.0.

Локальный AAR добавляется с помощью параметра New Module... в Android Studio, и он всегда работал.

Это сгенерированный build.gradle:

configurations.maybeCreate("default")
artifacts.add("default", file('FILENAME.aar'))

А в приложении build.gradle объявляю как обычно так:

implementation project(':NAME_OF_THE_MODULE')

Я пропустил критическое изменение? Связана ли следующая известная проблема с моей проблемой? While using this plugin with Android Studio, dependencies on local AAR files are not yet supported.

Обновление: старый трюк flatDir по-прежнему отлично работает:

flatDir {
  dirs 'libs'
}

Затем скопируйте AA в эту папку (т.е. app/libs) и объявите его как зависимость следующим образом:

implementation(name: 'libvlc', ext: 'aar')

person fasteque    schedule 27.06.2017    source источник
comment
Я открыл сообщение об ошибке, надеюсь, оно скоро будет исправлено issuetracker.google.com/issues/63055313   -  person pantos27    schedule 28.06.2017


Ответы (1)


в моем случае использование «api» решило проблему.

вместо использования:

implementation(name: 'libvlc', ext: 'aar')

использовать:

api(name: 'libvlc', ext: 'aar')

внутри build.gradle в проекте вашей библиотеки

И для получения дополнительной информации см.:

https://blog.mindorks.com/implementation-vs-api-in-gradle-3-0-494c817a6fa https://developer.android.com/studio/build/dependencies.html

person Bansook Nam    schedule 02.11.2017