Android-студия не рендерит макет предварительного просмотра
Я использую Android Studio 0.8.6 для разработки приложений и у меня возникают проблемы с предварительным просмотром макета при использовании API21. Я получаю следующую ошибку:
Проблемы рендеринга: Следующие классы не могут быть созданы: - android.support.v7.widget.Toolbar
У меня есть обновленные инструменты SDK Build (21.0.2), а также полный API 21, загруженный и установленный. Мой targetSDKVersion установлен на 21 в файле Gradle. Если я изменю предварительный просмотр для рендеринга с API20, все выглядит нормально. Подробности исключений приведены ниже.
Спасибо!
Сведения об исключении java.lang.ClassNotFoundException: android.support.v4.content.ContextCompatApi21 at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:148) в java.lang.ClassLoader.load24lass: Class (класс)) в java.lang.ClassLoader.loadClass(ClassLoader.java:357) в android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:319) в android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:133) в android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62) в android.support.v7.widget.Toolbar.(Toolbar.java:248) в android.support.v7.widget.Toolbar.(Toolbar.java:190) в java.lang.reflect.Constructor.newInstance(Constructor.java:408) в android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806) в android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) в android.view.LayoutInflater.rInflate(LayoutInflater.java:782) в android.view.LayoutInflater.inflate(LayoutInflater.java:504) на android.view.LayoutInflater.inflate(LayoutInflater.java:385)
9 ответов
Самая последняя версия Android Studio - 0.8.14, и это устраняет ряд проблем с API21. Обратите внимание, что согласно объявлению Android Studio 0.8.12 (в разделе "Нет исправлений"):
Мы нашли и исправили несколько существенных ошибок в механизме исправлений. Одна из этих ошибок означала, что обновление до новой версии, приводящее к функционально идентичной установке, также приводило бы к немного другому двоичному содержимому (например, некоторые временные метки в файлах.jar будут отличаться). Это означало, что фактические двоичные подписи не будут совпадать, что, например, нарушит проверку подписи приложения.
Теперь мы нашли и исправили эту ошибку, но поскольку существует много разных двоичных вариантов данной предыдущей версии, мы не можем создать один патч для обновления до новой версии. Поэтому для этой версии нам потребуется полная загрузка IDE. Начиная с этой версии, мы должны точно устанавливать обновления, сохраняя подписи приложений.
Так что вам нужно будет вручную установить последнюю сборку.
Эта проблема вернулась ко мне в Android Studio 1.2.
Это то, что я сделал и работал.
- Чистый Проект
- Перестроить проект
- Sync Gradle
- Нажмите кнопку обновления макета предварительного просмотра
Попробуйте отменить выбор "Автоматически выбирать лучший" на панели "Просмотр" и выбрать более старый API при просмотре XML-макета. Это расположено в строке меню, где вы выбираете устройство и тему, которую вы хотите использовать для предварительного просмотра, полностью справа.
Измените свой родительский стиль на Theme.AppCompat.Light.NoActionBar
вместо Theme.AppCompat.Light.DarkActionBar
в styles.xml
......... это сработало для меня.
Это известная проблема, см. Ниже.
Исключительная ложная визуализация
Конкретное сообщение об ошибке рендеринга: Следующие классы не могут быть найдены:
android.support.v7.internal.app.WindowDecorActionBar
Несмотря на сообщение об ошибке, предварительный просмотр макета является правильным, и сообщение можно безопасно игнорировать. Эта проблема уже была исправлена в 2.0 превью. См. Ошибку 192102 для более подробной информации. (Ссылка на проблему больше не действительна).
Можете ли вы проверить папку Theme? Возможно, вы что-то не инициализировали в теме.
- Чистый Проект
- Перестроить проект
- Sync Gradle
- Нажмите кнопку обновления макета предварительного просмотра
Кнопка "Обновить макет предварительного просмотра" расположена над окном предварительного просмотра телефона Android, она с круглыми синими стрелками, рядом с кнопками увеличения лупы.
примечание: это решение, похоже, ничего не делает до тех пор, пока на последнем шаге не будет нажата кнопка обновления макета, а затем оно заработает. Это решило проблему для меня. Я использую Android Studio v2.1.2.
Ура!
У меня такая же проблема в андроид студии 2.2
Это то что я сделал и ничего
-Чистый проект
-Перестроить проект
-Sync Gradle
Единственная вещь, которая действительно работала для меня, была Перезапуск студии андроида (закрытие и открытие)
- Чистый Проект
- Перестроить проект
- Sync Gradle
- Нажмите кнопку обновления макета предварительного просмотра
Или же
в вашем XML-файле нажмите правой кнопкой мыши и отметьте как XML.
это должно работать.