У меня проблема в Android Studio (3.1.2) со ссылками на классы в AAR, опубликованные в моем локальном репозитории maven.
Я успешно опубликовал файл AAR в своем локальном репозитории Maven и включил его в проект, который должен использовать AAR после этой статьи:
https://medium.com/@kuassivi/tip-work-with-third-party-projects-locally-with-gradle-961d6c9efb02
В основном я добавил ссылку на mavenLocal () в проекте верхнего уровня в разделах репозиториев buildscript и всех проектов. Я также добавил ссылку на AAR в сборке приложения (т.е. реализация groupid: artifactid: version). Я не сделал ничего больше, чем это.
Если я выполняю перестройку gradle в Android Studio, все компилируется нормально, но если я редактирую файл, который ссылается на классы в AAR, IDE не может разрешить ссылки.
Когда я нахожу класс (то есть cmd o), среда IDE правильно находит класс в файле classes.jar AAR и декомпилирует его.
Я предполагаю, что это происходит отчасти потому, что он не может получить исходный файл, который я опубликовал вместе с файлом aar, в локальный репозиторий Maven.
Как мне заставить IDE подобрать исходные файлы и правильно сослаться на классы в AAR? Я бы предпочел сделать это с помощью изменения скриптов gradle, а не с помощью мастера IDE, если это возможно.
После более подробного изучения я обнаружил, что использование репозитория maven не имеет значения, поскольку он получает файл AAR из кэша gradle в ~ / .gradle / caches / transforms-1 / files-1.1, а не из maven. локальный репо. Я также могу включить исходные файлы, используя "реализацию com.company:artifact-name:0.8:sources". Здесь есть хорошая информация:
https://www.alonsoruibal.com/my-gradle-tips-and-tricks/
Однако Android Studio по-прежнему не может распознать импорт, и хотя компиляция работает, импорт помечается красным в редакторе. Я думаю, должно быть какая-то магия с gradle, которую мне не хватает.