Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with Layout Preview and AppCompat 25.1.0 #353

Closed
jeffypooo opened this issue Dec 16, 2016 · 3 comments
Closed

Issues with Layout Preview and AppCompat 25.1.0 #353

jeffypooo opened this issue Dec 16, 2016 · 3 comments

Comments

@jeffypooo
Copy link

After upgrading my support libraries to 25.1.0, I began encountering the following crash in Layout Preview (AS 2.2.3 Stable):

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)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:441)
	at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:240)
	at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:195)
	at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193)
	at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:333)
	at android.view.BridgeInflater.onCreateView(BridgeInflater.java:152)
	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
	at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
	at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
	at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
	at com.android.layoutlib.bridge.bars.CustomBar.<init>(CustomBar.java:95)
	at com.android.layoutlib.bridge.bars.NavigationBar.<init>(NavigationBar.java:52)
	at com.android.layoutlib.bridge.bars.NavigationBar.<init>(NavigationBar.java:46)
	at com.android.layoutlib.bridge.impl.Layout.createNavBar(Layout.java:284)
	at com.android.layoutlib.bridge.impl.Layout.<init>(Layout.java:140)
	at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:301)
	at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
	at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368)
	at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567)
	at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863)
	at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549)
	at com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Removing the Calligraphy dependency fixes the problem.

I was able to fix this by doing the following:

  1. Remove Calligraphy dependency from app build.gradle
  2. Clean and rebuild project
  3. Re-add Calligraphy dependency to app build.gradle
  4. Clean and rebuild project

I'm not sure if this is Calligraphy's problem or the android gradle plugin, but I think it's useful to document this here. I have also opened an issue on the issue tracker dealing with this.

@chrisjenx maybe you can shed some light?

@chrisjenx
Copy link
Owner

chrisjenx commented Dec 16, 2016 via email

@chrisjenx
Copy link
Owner

I haven't seen this, nor has anyone else, I'm guessing it was a build issue bug, feel free to reopen if you see it again.

@thsaravana
Copy link

Yes. It seems this is a build caching bug. Adding android.enableBuildCache=false to gradle.properties and rebuilding worked for me.

(using Support Library 25.4.0, Android Studio 2.3.3 and buildToolsVersion "25.0.2")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants