Android Studio не может разрешать символы из AAR

У моего вопроса та же проблема, что и у Проблема с использованием файла .AAR в другом проекте. . Но я хочу добавить больше деталей. Отсюда новый вопрос.

Мне также известны такие решения, как этот Android Studio не может разрешать символы из импортированного модуля AAR, но ответы не совсем то, что я ищу.

Я могу без проблем добавить свой файл AAR в свой проект, либо добавив его в папку libs/, либо добавив в качестве нового модуля AAR. Проблема возникает, когда авторы AAR предоставляют обновленный AAR (потому что они что-то изменили в своем публичном API, т.е. добавили новый параметр в один из старых методов).

Android Studio не может принять изменения. В старой библиотеке у меня был вызов этого метода:

library.showText("hello");

Авторы выпустили новый API с обновлением того же метода, который должен называться так:

library.showText("hello", 5000); // added timeout param

Когда я щелкаю по методу, удерживая клавишу CTRL, я перехожу к старому классу, в котором метод находится в C:\Users\MyUser\.gradle\caches\transforms-1\files-1.1\library.aar\...\old .сорт. Я думаю, что это проблема, почему я получаю сообщение об ошибке «не могу разрешить символы».

Как это исправить?


person user1506104    schedule 13.05.2018    source источник
comment
Связанный пост - Android Studio внезапно не может разрешать символы   -  person RBT    schedule 06.08.2018


Ответы (3)


Я бы сказал, что я сделал, чтобы исправить эту ошибку:

  1. Удалите эту зависимость из файла build.gradle и выполните синхронизацию, это действие будет прервано из-за отсутствия указанного файла;
  2. Теперь верните файл build.gradle и выполните синхронизацию;
  3. Готово, все ок.
person LiuJQ    schedule 11.07.2018

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

Опция 1

  1. Gradle -> Обновить все проекты Gradle

Вариант 2

  1. Gradle -> Обновить все проекты Gradle
  2. Удалить каталоги сборки из проекта
  3. Удалите кеш .gradle из C:\Users\ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ\.gradle\caches\transforms-1\files-1.1\* (удалите только несколько последних папок)
  4. Сборка -> Очистить проект

Вариант 3 (это перезапустит вашу Android Studio)

  1. Файл -> Недействительные кеши / Перезапустить
  2. затем выберите Invalidate and Restart
  3. Gradle -> Обновить все проекты Gradle
person user1506104    schedule 14.05.2018
comment
Нет градиентного меню. Мне пришлось просмотреть -> окна инструментов -> gradle, чтобы получить панель инструментов gradle со значком обновления. - person nettie; 11.10.2018
comment
У меня не сработало :-( Сказав это, я не смог найти Accounts.gradle... в Linux... - person Pixel; 21.11.2018
comment
@ user1506104 Все еще не работает. Очистил все кеши, повторно импортировал файл .aar, и все равно не может его найти. Однако я создал новый проект, импортировал файл .aar, и теперь он работает! - person Pixel; 21.11.2018
comment
отличный! если через некоторое время вы смогли выяснить основную причину, мы можем вернуться к этой теме и обновить ответ. ваше здоровье! - person user1506104; 21.11.2018

зависит от того, как вы импортируете эту библиотеку:

  • загрузите .aar и сохраните в каталоге libs — вам нужно загружать каждый раз, когда выходит новая версия, и перезаписывать текущий файл .lib + Синхронизация проекта Gradle/Rebuild

  • используя файл gradle с URL-адресом, указывающим на эту библиотеку — Sync gradle (правая верхняя панель «Gradle» — откройте и щелкните значок «Обновить», чтобы повторно импортировать библиотеки)

person jantursky    schedule 13.05.2018
comment
делаю первый вариант. перезаписал мой старый файл aar в каталоге libs, все еще получая неразрешенную ошибку - person user1506104; 13.05.2018
comment
В этом случае вы должны аннулировать кеш всей студии Android. - person jantursky; 13.05.2018
comment
я только что обновил проекты Gradle, не сработало. - person user1506104; 13.05.2018
comment
как сделать недействительным кеш всей AS? - person user1506104; 13.05.2018
comment
Небольшая помощь. Надеюсь, это сработает - person jantursky; 13.05.2018