Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android studio not rendering layout preview

I've been using Android Studio 0.8.6 to develop apps and am having problems with the layout preview when using API21. I get the following error:

Rendering Problems: The following classes could not be instantiated: - android.support.v7.widget.Toolbar

I have SDK Build tools up-to-date (21.0.2) as well as the full API21 downloaded and installed. My targetSDKVersion is set to 21 on the gradle file. If I change the preview to render with API20, everything seems fine. Exception details are provided below.

Thanks!

Exception Details java.lang.ClassNotFoundException: android.support.v4.content.ContextCompatApi21   at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:148)   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)   at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:319)   at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:133)   at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62)   at android.support.v7.widget.Toolbar.(Toolbar.java:248)   at android.support.v7.widget.Toolbar.(Toolbar.java:190)   at java.lang.reflect.Constructor.newInstance(Constructor.java:408)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)   at android.view.LayoutInflater.inflate(LayoutInflater.java:504)   at android.view.LayoutInflater.inflate(LayoutInflater.java:385)

like image 902
Tupaschoal Avatar asked Oct 27 '14 19:10

Tupaschoal


5 Answers

This problem was back to me in Android Studio 1.2.

This is what I did and worked.

  1. Clean Project
  2. Rebuild project
  3. Sync Gradle
  4. Press update layout preview button
like image 63
Sotti Avatar answered Oct 19 '22 17:10

Sotti


Try unselecting "Automatically pick Best" in the Preview pane and select an older API when you view your layout XML. This is located in the menu bar where you select the device and theme you want your preview to use, all the way on the right.

like image 34
Sandeep Londhe Avatar answered Oct 19 '22 15:10

Sandeep Londhe


The most recent version of Android Studio is 0.8.14 and this fixes a number of issues with API21. Note that as per the Android Studio 0.8.12 announcement (under 'No patches'):

We've found and fixed several significant bugs in the patching mechanism. One of these bugs meant that upgrading to a new version, while resulting in a functionally identical installation, would also result in slightly different binary contents (for example, some timestamps inside .jar files would differ). This meant that the actual binary signatures would not match, which broke for example the application signature checks.

We have now found and fixed that bug, but because there are many different binary variations of a given previous version, we cannot create a single patch to update to the new version. Therefore, for this version we will require a full download of the IDE. From this version forward we should be able to accurately install updates while preserving the application signatures.

So you'll need to manually install the latest build.

like image 21
ianhanniballake Avatar answered Oct 19 '22 15:10

ianhanniballake


Change your style parent to Theme.AppCompat.Light.NoActionBar instead of Theme.AppCompat.Light.DarkActionBar in styles.xml......... it worked for me.

like image 5
s.g Avatar answered Oct 19 '22 16:10

s.g


This is a known issue, see below.

Spurious Render Exception

The specific render error message is: The following classes could not be found:

android.support.v7.internal.app.WindowDecorActionBar

Despite the error message, the layout preview is correct and the message can be safely ignored. The issue has already been fixed in 2.0 preview. See bug 192102 for more details. (Issue link is not valid anymore).

like image 2
iSab Avatar answered Oct 19 '22 15:10

iSab