Я столкнулся со следующей проблемой. Я использую Gradle 4.1. У меня есть модуль Android, который упакован с локальным файлом jar, файл находится в папке / libs, и я использую довольно стандартный способ его включения
implementation fileTree(include: ['*.jar'], dir: 'libs')
Моя проблема в том, что процесс упаковки удаляет все папки ресурсов из файла jar, если в моем jar есть ../resources/Messages.properties, в aar он не существует. Это означает, что все сообщения сгенерированы некорректно.
Любые мысли будут оценены.
Спасибо
если я извлекаю свой файл aar, он действительно содержит папку «libs», в которой расположены все банки, единственная проблема, как я уже упоминал, эти банки разные, они содержат только классы, остальное просто отфильтровывается.
Извини, чувак, мой ответ все тот же ... Файлы AAR могут включать только исходники модуля! Нет источников библиотек / зависимостей. Вы можете увидеть папку и файлы jar .. но исходного кода не будет .. Скажите, для чего вам нужен AAR, может быть, я могу предложить другую альтернативу ...
поэтому, если у моей зависимости jar есть папка источников, процесс упаковки aar просто намеренно исключает их, изменяя исходный файл jar, и нет возможности контролировать этот процесс. Мне приходит в голову единственный обходной путь - скопировать эти источники из jar в источники модуля под соответствующим именем пакета?
1) Более-менее да. 2) Теоретически это может сработать, но это большая работа, не масштабируемая, и управление версиями будет проблемой ... Может быть, эти ссылки помогут: github.com/Vigi0303/fat-aar-plugin или github.com/adwiv/android-fat-aar
вы правы, в моем подходе много накладных расходов на обслуживание, я пробовал fat-aar-pluging, к сожалению, плагин Android версии 2.3.0 и более поздних версий плохо поддерживается последней версией fat-aar-pluging
Файлы AAR включают только источники модулей, без источников библиотек / зависимостей ... Вы можете попробовать использовать «Fat AAR», если хотите включить зависимости и библиотеки. Вы также можете развернуть свой проект как артефакт maven, файл POM включает все данные, необходимые для компиляции вашего проекта со всем. «Местное репозиторий maven» также может быть для вас вариантом ..