Подтвердить что ты не робот

Android Studio 2.3 Beta 1 + Поддержка 25.1.0 = Предварительный просмотр сломанной

Android Studio 2.3 Canary 3. Поддержка библиотек 25.1.0.

Презентации макета полностью нарушены. Все, что содержит связанный с поддержкой просмотр, кажется, прерывается во время предварительного просмотра.

Во всех случаях это начало стека:

Exception Details java.lang.NoSuchFieldError: ViewBackgroundHelper   
at android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.java:46)   
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:63)   
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:56)
....

.. Etc.

Не имеет значения, что такое макет, теперь я получаю эту кровавую проблему с проблемой ViewBackgroundHelper. Кажется, не имеет значения, какой тип макета или какие представления в нем. Все, что кажется через AppCompat, попадает в эту ошибку в предварительном просмотре.

Никогда раньше этого не видел. Ранее был Android Studio 2.3 Canary 2 + Support libs 25.0.1.

Кажется, что просто невозможно обновить Android Studio или ее поддерживающие libs, не тратя часы на этот тип вещей, эй?

Спасибо за любые подсказки, спасибо -

UPDATE

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

https://code.google.com/p/android/issues/detail?id=230183

ОБНОВЛЕНИЕ 2

Еще проблема с AS 2.3 Beta 1. Все еще не видно моих макетов. То же java.lang.NoSuchFieldError: ViewBackgroundHelper ошибка везде.

4b9b3361

Ответ 1

Все работает сейчас.

  • Я обновил сегодня до самой новой Android Studio: 2.3 Beta 3
  • Мне было предложено обновить до последней версии com.android.tools.build:gradle:2.3.0-beta3

Перезапуск, недействительность, перестройка; все окончательно отлично отображается в области предварительного просмотра в первый раз за 6 недель.

Похоже, они исправили это. Наконец-то.

Ответ 2

Согласно трекеру вопросов, по состоянию на 10 января 2017 года:

https://code.google.com/p/android/issues/detail?id=230183

Для тех из вас, кто использует плагин 2.3.0-beta1 Gradle, вы могли бы отключите кеш сборки, добавив

android.enableBuildCache=false

в ваш gradle.properties файл и сообщите нам, если это устраняет проблему для тебя. После добавления строки к вашим gradle.properties, пожалуйста перестройте проект.

Спасибо.

Проверено решение проблемы для некоторых пользователей.

Ответ 3

Я подал вопрос на трекер. Другие участники обнаружили, что удаление некоторых других зависимостей библиотеки, отличных от android, заставляет проблему уходить. Исходя из этого, я нашел решение (отредактированное из потока проблем):

Дополнительная информация после дальнейшего изучения:

Android Studio 2.2.3
Build # AI-145.3537739, построенный 2 декабря 2016 года
JRE: 1.8.0_76-release-b03 amd64
JVM: 64-разрядная виртуальная машина OpenJDK от JetBrains s.r.o

Поддержка libs: 25.1.0
Инструменты построения: 25.0.2

После воспроизведения этой версии на вышеупомянутой студийной версии (2.2.3 Stable) я начал удалять другие зависимости библиотек на основе информации, предоставленной другими в этом потоке. После удаления библиотеки каллиграфии (https://github.com/chrisjenx/Calligraphy) и связанного кода предварительный просмотр макета снова начал работать правильно.

Интересно, что мне удалось повторно добавить библиотеку каллиграфии, и просмотр макета продолжал работать. Может быть, это указывает на какую-то проблему кэширования с помощью плагина android gradle?

Для других, сталкивающихся с этой проблемой, я предлагаю следующее:
1. Определите библиотеку, вызывающую проблему. 2. Удалите зависимость библиотеки и связанный код
3. Сделайте полную очистку и постройте
4. Проверьте работу предварительного просмотра макета
5. Повторно добавьте зависимость библиотеки 6. Сделайте полную очистку и постройте
7. Проверьте работу предварительного просмотра макета

Примечание. Я подозревал, что проблема с каллиграфией вызвала проблему, поскольку она использует собственный атрибут xml под названием "fontPath", а также некоторые манипуляции с контекстом. Если у вас есть какие-либо библиотеки, которые просматривают манипуляции под капотом, я предлагаю сначала удалить их.

Ответ 4

Измените стиль AppTheme на это:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>

Ответ 5

У меня есть решение, проблема не в версии Android Studio.

Проблема в том, что версия Gradle вернется к стабильной версии 2.2.3, она работает для меня после нескольких тестов. Это ошибка в бета-версии Gradle, и она уже сообщается в google.

Ответ 6

Я решил эту проблему на следующих шагах

  • Удалить <project> /<module> /build/build/intermediates/exploded-aar
  • Проект перестройки
  • Убедитесь, что в exploded-aar есть только одна версия поддержки-библиотеки