Napotkałem problem podczas tworzenia projektu w Android Studio. (Wersja 1.5.1)
Opisuję swoje działania krok po kroku:
- Otwórz Android Studio.
- Utwórz nowy projekt bez żadnej aktywności.
- Zrób pustą aktywność.
I może wystąpić problem w trybie podglądu:
Otrzymuję tę wiadomość:
Rendering Problems Exception raised during rendering: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser(Ljava/lang/String;)Lorg/xmlpull/v1/XmlPullParser;
Śledzenie stosu:
java.lang.NoSuchMethodError: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser(Ljava/lang/String;)Lorg/xmlpull/v1/XmlPullParser;
at com.android.layoutlib.bridge.impl.ResourceHelper.getInternalComplexColor(ResourceHelper.java:146)
at com.android.layoutlib.bridge.impl.ResourceHelper.getColorStateList(ResourceHelper.java:231)
at android.content.res.BridgeTypedArray.getColorStateList(BridgeTypedArray.java:308)
at android.widget.TextView.<init>(TextView.java:776)
at android.widget.TextView.<init>(TextView.java:705)
at android.widget.TextView.<init>(TextView.java:701)
at com.android.layoutlib.bridge.MockView.<init>(MockView.java:50)
at com.android.layoutlib.bridge.MockView.<init>(MockView.java:45)
at com.android.layoutlib.bridge.MockView.<init>(MockView.java:41)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:163)
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.StatusBar.<init>(StatusBar.java:67)
at com.android.layoutlib.bridge.impl.Layout.createStatusBar(Layout.java:222)
at com.android.layoutlib.bridge.impl.Layout.<init>(Layout.java:144)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:213)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498)
at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72)
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610)
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607)
at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629)
at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
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)
Jaki może być problem?
android
android-studio
ShtihlFD
źródło
źródło
Couldn't resolve resource @android:color/background_material_light
Zgłaszane, jeśli aplikacja próbuje wywołać określoną metodę klasy (statyczną lub instancję), a ta klasa nie ma już definicji tej metody. Zwykle ten błąd jest wychwytywany przez kompilator; ten błąd może wystąpić w czasie wykonywania tylko wtedy, gdy definicja klasy uległa zmianie w sposób niezgodny.
Twoja aplikacja musi być przeznaczona dla systemu Android 6.0 (poziom interfejsu API 23), aby włączyć to zachowanie; nie musisz dodawać żadnego dodatkowego kodu.
Po prostu wybierz „API 23: Android 6.0” w sekcji Podgląd.
źródło
Miałem ten sam problem, kiedy zainstalowałem Android Studio 2.1 na Ubuntu 14.04, Nawet ikona robota Androida, która wyświetla wersję Androida używaną do renderowania układu, pokazywała tylko wersję API Level 24 i żadnych innych wersji.
Musiałem włączyć pobieranie API 23, przechodząc do poniższej ścieżki
Narzędzia -> Menedżer SDK -> Android SDK -> Platformy SDK -> Nazwa.
Zaznacz opcję Android 6.0 (Marshwallow), która zostanie pobrana teraz. Teraz będziesz mógł zobaczyć poziom API 23 i wybrać, które możemy obejść ten problem.
źródło
Podobny problem miałem z Androidem Studio 1.5.1 w Windows 10. Podgląd nie działał bez względu na wybraną wersję Androida. Śledzenie stosu zaczyna się od:
Kiedy usunąć atrybut
tools:showIn="@layout/activity_main"
zRelativeLayout
rozwiązuje problem dla wszystkich wersji Androida z wyjątkiem „N”. Mam włączony Android 2.2, 2.3.3, 5.0.1 i 6.0Nie potrafię jednak wyjaśnić, dlaczego akcja rozwiązuje problem ani dlaczego działa dla wersji N.
źródło
To nie jest aktualna odpowiedź, ale dla każdego, kto szuka kogoś, kto ma ten sam problem, aktualizacja studia Android załatwia sprawę. Chociaż wszystkie powyższe sugestie działają, chcesz uzyskać aktualizację (wersja 2.1.2).
źródło