2017-09-23 156 views
0

我使用Android Studio 2.3.3 - Build #AI-162.4069837
和我build.gradle依賴塊:渲染布局預覽在Android Studio中失敗

compile 'com.android.support:support-v4:26.0.0-alpha1' 
compile 'com.android.support:appcompat-v7:26.0.0-alpha1' 
compile 'com.android.support:design:26.0.0-alpha1' 
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' 
compile 'com.android.support:support-vector-drawable:26.0.0-alpha1' 
compile 'com.android.support:animated-vector-drawable:26.0.0-alpha1' 

當我嘗試在設計模式預覽佈局,視圖並不適用於所有的佈局渲染使用android.support.design.widget.CoordinatorLayoutandroid.support.v7.widget.RecyclerView或...給下面的錯誤 -

the following classes could not be instantiated 

cleanrebuild項目,clear cacheclosereopen機器人工作室並沒有解決問題

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:475) 
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:262) 
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:213) 
    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) 

回答

1

更改項目級的build.gradle依賴於這個

classpath 'com.android.tools.build:gradle:2.3.3' 

並更換應用水平與這些版本的Gradle

依賴
compile 'com.android.support:support-v4:26.+' 
compile 'com.android.support:appcompat-v7:26.+' 
compile 'com.android.support:design:26.+' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
compile 'com.android.support:support-vector-drawable:26.+' 
compile 'com.android.support:animated-vector-drawable:26.+' 

This答案可能與您的問題

編輯:似乎你並不孤單。在thisthis後,解決方案是等待下一次更新或禁用gradle.properties中的緩存有些人已經回滾到穩定gradle和支持庫版本作爲臨時解決方案。

+0

謝謝,項目級別是'2.3.3',使用'+'時不受影響,也不解決問題。
到目前爲止,它已經運行了'com.google.android.gms:play-services-gcm'庫來依賴它。 –

+0

最新的支持庫版本是26.1.0。將全部26. +替換爲26.1.0並同步項目。如果出現任何同步錯誤,請更新sdk並重試 – sziraqui

+0

問題沒有解決:-( –

0

將主題從Theme.AppCompat.Light.DarkActionBar更改爲styles.xml中的Base.Theme.AppCompat.Light.DarkActionBar已爲我工作。