プログラマー探偵の事件簿:Unsupported class file major version 64
調べていることが全く違う方向のために、時間を無駄にすることがある。そんな事件の話である。
事件の始まり
スマホのアプリをFlutterで開発していた時の話である。しばらくぶりに機能拡張のためにFlutterのプロジェクトをVSCodeで開いた時、
「Unsupported class file major version 64」
というエラーが表示された。
場所を見るとAndroid版をビルドするファイルである。試しにAndroid版をビルドしてみたが問題はない。実機でのデバックもできる。
不可思議な現象である。
人を疑う
このプロジェクトを他の人が少し修正したので、その影響ではないかと疑った。まず、人のせいにするのがプログラマーの特性である。
ここで助手の猫が天から一言
「証拠もないのに人を疑うな!、だいたいは、自分のせいだ!」
そうである。いつも自分のせいが多い。
Gitの修正履歴を確認したが、関係しようなところは修正していない。何故だ!
Googleさんに聞いてみた
いつものようにGoogleさんに聞いてみた。いくつか、同じエラーで悩んでいる人が書いていた。ありがたいことだ!
を見つけた時に、これだと思って試してみた。
不慣れなAndroid Studioでプロジェクトを開いて書いてあることを実施したが解決しない。Android Studioのアドバイスで、いろいろなソフトをアップデートしてみたが問題は悪化するばかりであった。
AI(Google Bard)にも聞いてみた
途方にくれてAI頼みしてみた。
最初は、
「Unsupported class file major version xxは、何が起こっていますか?」
と聞いてみた。
答えは、
でした。それは、Googleさんが教えてくれたので
Javaのバージョンもいろいろ変えて試した結果、惨敗であった。
AIにもう少し情報を加えて聞いてみた。
「VSCodeの環境でFlutter開発の開発をする時にUnsupported class file major version xxと表示された場合、何が問題ですか?」
答えは
詳しく教えていただきましたが、どちらも最新であった。
でも、ヒントはあった。
JavaやFlutterのこだわりを捨てろ
諦めかけた時に、助手の猫が天から
「JavaやFlutterのこだわりを捨てろ、原因は別のところにある」
と言う声がした。
Googleさんで調べている中に、VSCodeのJava拡張機能の問題
という記事を見た覚えがある。
試しに、最初の状態でVSCodeのJava拡張機能
を無効にした。
「あ、治った!」
Flutterとは別の方法でAndroidのアプリを開発した時にいれた、拡張機能が悪さをしていたのであった。
この記事が参加している募集
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。