как обновить локальные источники пакета 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.

Единственное, что сработало для меня, было:

  1. Прокомментируйте файлы реализации ('../libs/yourlib.aar') в градиенте
  2. Синтетическая градация
  3. Обновите файл yourlib.aar в папке libs
  4. Раскомментируйте файлы реализации ('../libs/yourlib.aar') в градиенте
  5. Синхронизация снова
  6. Проект строительства

Теперь изменения в 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.

Предполагая структуру папок следующим образом:

screenshot of the folder directory of a new Android Studio 3 project

Вы можете включить файлы с любой из следующих строк в блок зависимостей 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, передать, а затем увидеть, как он обновляется?

Я знаю, что это работает для меня.