最新バージョンAndroid Studio(1.2)のプレビューウィンドウに次のエラーが表示され、作成中のレイアウトを表示できなくなります。 Android studioを数回再起動するだけでなく、プロジェクトのクリーニング、再構築、およびコンピューターの再起動を試みました
編集:
他の古いプロジェクトが正常に機能する一方で、一部のプロジェクトには同じエラーがあります
The following classes could not be instantiated:
- Android.support.v7.internal.widget.ActionBarOverlayLayout (Open Class, Show Exception, Clear Cache)
例外の詳細
Java.lang.NoClassDefFoundError: Android/support/v7/internal/widget/ActionBarOverlayLayout$1
at Android.support.v7.internal.widget.ActionBarOverlayLayout.<init>(ActionBarOverlayLayout.Java:93)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:39)
at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:27)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:513)
at org.jetbrains.Android.uipreview.ViewLoader.createNewInstance(ViewLoader.Java:413)
at org.jetbrains.Android.uipreview.ViewLoader.loadView(ViewLoader.Java:105)
at com.Android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.Java:177)
at Android.view.BridgeInflater.loadCustomView(BridgeInflater.Java:214)
at Android.view.BridgeInflater.createViewFromTag(BridgeInflater.Java:142)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:482)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414)
at com.Android.layoutlib.bridge.bars.BridgeActionBar.<init>(BridgeActionBar.Java:84)
at com.Android.layoutlib.bridge.bars.AppCompatActionBar.<init>(AppCompatActionBar.Java:56)
at com.Android.layoutlib.bridge.impl.RenderSessionImpl.createActionBar(RenderSessionImpl.Java:1691)
at com.Android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.Java:362)
at com.Android.layoutlib.bridge.Bridge.createSession(Bridge.Java:321)
at com.Android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.Java:350)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:497)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:485)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.Java:894)
at com.Android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.Java:485)
at com.Android.tools.idea.rendering.RenderTask.render(RenderTask.Java:590)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.Java:644)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.Java:79)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.Java:586)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.Java:152)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.Java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.Java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.Java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.Java:137)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.Java:581)
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:439)
at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:895)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:918)
at Java.lang.Thread.run(Thread.Java:695)
以下のコードを使用してベースアプリケーションのテーマを変更してみてください-res/values/styles.xml
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
[〜#〜]または[〜#〜]
また、プレビューの設定からプレビューのAPIレベルを下げるように切り替えることもできます。
ここで説明されているように、Gradleをバージョン1.2.3に更新することもできます: https://code.google.com/p/Android/issues/detail?id=171417
どうやら これはGradleのバージョン1.2.2のバグであり、次のバージョンからAndroid studio Gradle 1.2.3が新しいプロジェクトのデフォルトになります。
少なくともそれは働いた。
Base.Theme.AppCompat ....はTheme.AppCompat ....の superclass ですが、とにかく、Gradleの新しいバージョンを使用した修正を好みます。
私のために働いた、それがあなたのために働くことを願っています。
また、プロジェクトをクリーンアップして再構築する必要がありました。
最も簡単な方法は、AppThemeをクリックしてアプリケーションのテーマを変更することです。
これはコードを変更する必要はありません。
下の画像を添付