как обновить локальные источники пакета aar
Я создал два приложения для Android Studio. Одна из них - аар-библиотека. Я использовал эту библиотеку aar во втором приложении. Я добавил библиотеку aar с помощью опции File-> New-> New Module-> Import AAR/JAR Packages. после этого я могу видеть декомпилированные источники моей аар-библиотеки. Когда я обновляю библиотеку aar, я копирую и вставляю новый файл aar в папку моего проекта приложения. Но на этот раз Android Studio показывает старые декомпилированные источники. Но скомпилируйте новый источник. Как обновить декомпилированные источники в Android Studio? когда я импортирую implementation project(':app-debug')
aar file implementation project(':app-debug')
был добавлен мой файл build.gradle
.
Я использую Android Studio 3.0.1
Обновить
единственный способ, который я могу найти для обновления локальных источников, - это нажать кнопку " Синхронизировать проект" с помощью кнопки " Gradle Files" после обновления файла aar/jar.
Ответы
Ответ 1
У меня была такая же проблема, я пробовал все формы включения моего локального аара в свой проект, пробовал каждый метод перестройки, недействительный кеш и т.д., Но у меня все еще была проблема, когда изменения в моем локальном ааре не были доступны после обновления файла в папке libs.
Единственное, что сработало для меня, было:
- Прокомментируйте файлы реализации ('../libs/yourlib.aar') в градиенте
- Синтетическая градация
- Обновите файл yourlib.aar в папке libs
- Раскомментируйте файлы реализации ('../libs/yourlib.aar') в градиенте
- Синхронизация снова
- Проект строительства
Теперь изменения в yourlib.aar должны быть доступны в вашем проекте. Если у вас есть этот lib, включенный в несколько модулей, я предполагаю, что вам нужно будет сделать это для каждого модуля. Не идеально, но я потратил по крайней мере 5 часов на эту проблему, и эти шаги были единственным способом, который я мог бы заставить изменить. Я предполагаю, что удаление библиотеки из файла градиента, а затем синхронизация заставит ее забрать новую, когда она будет добавлена снова.
Ответ 2
У меня была такая же проблема, и я решил очень быстро сделать следующее:
- Посмотрите в своей папке project/.idea/libraries/для Gradle__artifacts_ [подпроект].xml
- Удалить этот файл
- В Android Studio перейдите в File-> Sync Project с файлами Gradle
Это для AAR, включенного в качестве проекта (именно так он включается, когда вы используете File-> Новый-> Новый модуль...-> Импорт пакета.JAR/.AAR).
Ответ 3
Прямо сейчас вы включаете AAR через нотацию project
. Поскольку AAR является буквально просто файлом, он должен быть включен вместе с нотами files
.
Предполагая структуру папок следующим образом:
Вы можете включить файлы с любой из следующих строк в блок зависимостей app/build.gradle
:
// include just my_library
implementation files('libs/my_library.aar')
// include just other_library
implementation files("$rootDir/common/libs/other_library.aar")
// include both libraries
implementation files('libs/my_library.aar', "$rootDir/common/libs/other_library.aar")
Кстати, существует достаточно полный список поддерживаемых типов зависимостей на странице https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html.
Ответ 4
В дополнение к комментированию/разкомментированию и повторной синхронизации проекта и настроек Gradle мне пришлось удалить весь каталог build-cache.
На Mac: ~/.android/build-cache/Windows: Не уверены, где находится этот каталог.
Ответ 5
После замены файла.arr через проводник Windows. Единственное, что сработало для меня, это Файл → Неправильные кэши /Restrt.
Ответ 6
Вы пытались сначала закрыть вкладку декомпилированного файла в Android Studio, обновить versionName в проекте AAR, перестроить AAR, передать, а затем увидеть, как он обновляется?
Я знаю, что это работает для меня.