web-dev-qa-db-ja.com

Android Studio 3.1は、Javaクラスがないため、xmlファイルをレンダリングしません

マッサージのエラーを常に表示します

Java.lang.ClassNotFoundException:Android.view.View $ OnUnhandledKeyEventListener

私のプロジェクトは文字通りハローワールドで、Android studiosを開いて空のアクティビティをクリックし、ビルドが完了するのを待ちますが、アプリがレンダリングされません。再インストールしました。Android studiosおよびJDK10。ただし、動作しません。プロジェクトは仮想デバイスで正常に表示され、hello worldを任意の文字列に編集することもできますが、XMLビューでは、白い画面が表示されます。

Screen shot of project hello world!

ここにスタックがあります:

Java.lang.ClassNotFoundException: Android.view.View$OnUnhandledKeyEventListener
    at org.jetbrains.Android.uipreview.ModuleClassLoader.load(ModuleClassLoader.Java:180)
    at com.Android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.Java:61)
    at org.jetbrains.Android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.Java:118)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:424)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:357)
    at org.jetbrains.Android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.Java:213)
    at Android.support.v7.widget.ActionBarContainer.<init>(ActionBarContainer.Java:62)
    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:481)
    at org.jetbrains.Android.uipreview.ViewLoader.loadClass(ViewLoader.Java:264)
    at org.jetbrains.Android.uipreview.ViewLoader.loadView(ViewLoader.Java:222)
    at com.Android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.Java:209)
    at Android.view.BridgeInflater.loadCustomView(BridgeInflater.Java:337)
    at Android.view.BridgeInflater.loadCustomView(BridgeInflater.Java:348)
    at Android.view.BridgeInflater.createViewFromTag(BridgeInflater.Java:248)
    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:730)
    at Android.view.LayoutInflater.rInflate_Original(LayoutInflater.Java:863)
    at Android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.Java:72)
    at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:837)
    at Android.view.LayoutInflater.rInflateChildren(LayoutInflater.Java:824)
    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:515)
    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:423)
    at com.Android.layoutlib.bridge.bars.BridgeActionBar.<init>(BridgeActionBar.Java:89)
    at com.Android.layoutlib.bridge.bars.AppCompatActionBar.<init>(AppCompatActionBar.Java:68)
    at com.Android.layoutlib.bridge.impl.Layout.createActionBar(Layout.Java:277)
    at com.Android.layoutlib.bridge.impl.Layout.<init>(Layout.Java:161)
    at com.Android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.Java:288)
    at com.Android.layoutlib.bridge.Bridge.createSession(Bridge.Java:384)
    at com.Android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.Java:193)
    at com.Android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.Java:544)
    at com.Android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.Java:678)
    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)
11
Parsa Mahmoodi

はい、起こります。簡単に修正できます。

最初の方法:Gradle Scriptsでbuild.gradle(Module:app)を開き、バージョンalpha3をalpha1に変更して今すぐ同期する

実装 'com.Android.support:appcompat-v7:28.0.0-alpha1'

2番目の方法:res-> values-> style.xmlでstyle.xmlを開き、この行を変更します

style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar">

ベースを置きます。 Theme.AppCompat.Light.DarkActionBarの前

style name = "AppTheme" parent = "Base.Theme.AppCompat.Light.DarkActionBar">

問題が解決されることを願っています。

37
Robin

-あなた自身の責任でアルファ/ベータを使用してください

  • アプリを開発しているので、この種の問題に直面することは望ましくありません。したがって、すべての依存関係の常に安定したバージョンを使用することをお勧めします。

あなたが直面した問題は、アルファ版のAppCompatライブラリを使用したことが原因でした。安定版を使用して、現在および将来この問題を解決してください。

1. Android.support安定バージョンを使用します

現在、27.1.1はAppComactV7の最新バージョンです。 Mavenリポジトリリンクを参照して最新情報を確認できます。

final def SUPPORT_VERSION = "27.1.1"
implementation "com.Android.support:appcompat-v7:$SUPPORT_VERSION"
implementation "com.Android.support:design:$SUPPORT_VERSION" // use only if already using

定義を使用して、すべてのサポートバージョンで同じバージョンを使用します。また、デザインライブラリをまだ使用していない場合は無視してください。

2. compileSdkVersionおよびtargetSdkVersionをダウングレードします(オプション)

また、compileSdkVersiontargetSdkVersionいくつかのgradle警告を削除します。

以下のバージョンを使用してください

compileSdkVersion 27 
targetSdkVersion 27

AlphaおよびBetaリリース についてお読みください。

3
Khemraj

に行く
Gradle scripts> build.gradle(module app)> 'com.Android.support:appcompat-v7:28.0.0-alpha3'を 'com.Android.support:appcompat-v7:28.0.0-に変更しますalpha1 '

「-v7:28.0.0-」の後にはalpha3以外のものがありますが、それをalpha1に変更するだけです。

2
Jacqueline

簡単に修正できます。

Gradle Scriptsの下でbuild.gradle(Module:app)を開き、appcompatのバージョンを以下のように更新して、今すぐ同期します

implementation 'com.Android.support:appcompat-v7:28.0.0-alpha1'
0
Ali Yar Khan