「Javaを学んできたのに、Android開発はKotlinでないとダメなのか」。そう感じてこの記事にたどり着いた方は多いはずです。調べると「Kotlin-first」という言葉が出てきて、Javaでの開発は時代遅れなのかと不安になるかもしれません。
結論から言うと、JavaはAndroid開発で2026年現在も完全にサポートされており、動くアプリを作ることができます。ただし正直に書くと、Jetpack Compose(最新のUIツールキット)はJava非対応です。この事実を最初に知った上で学習を始めることが重要です。
この記事では、Google公式の方針・Javaで作れること・Android Studio Quail 1(2026年4月リリースの最新版)の環境構築・最初のアプリを動かすまでの手順・覚えるべき基礎概念をまとめています。読み終えたら今日からAndroid開発を始められる状態になります。
この記事でわかること
- 2026年にJavaでAndroid開発をする意味と、Googleの公式方針の実態
- Javaで作れるもの・Jetpack Composeが使えないという事実の整理
- Android Studio Quail 1(2026年最新版)の環境構築手順
- Hello Worldから最初のアプリを動かすまでのステップ
- Android開発で必ず覚えるべき基礎概念4つ
2026年もJavaでAndroid開発はできる?Googleの方針と現状
「もうJavaはAndroidで使えないのでは」という心配は不要です。ただし状況を正しく理解するために、Googleの方針をきちんと確認しておきましょう。
Kotlin-firstとは何か:Javaのサポートは続いている
Googleは2019年のGoogle I/OでAndroid開発を「Kotlin-first(Kotlin優先)」と位置づけました。これはKotlinを推奨言語として積極的に使っていくという方針であり、Javaのサポートを終了するという宣言ではありません。
Google公式の情報によると、Javaは以下の機能すべてで引き続きサポートされています。
| 機能・ツール | Java対応 | Kotlin対応 |
|---|---|---|
| Platform SDK(Androidの基本機能) | ✅ | ✅ |
| Android Studio | ✅ | ✅ |
| AndroidXライブラリ | ✅ | ✅ |
| Lint・ドキュメント | ✅ | ✅ |
| Jetpack Compose | ❌非対応 | ✅ |
| KTX extensions・コルーチン | ❌非対応 | ✅ |
| オンライン公式トレーニング | ベストエフォート | ✅ |
Kotlin-firstが意味するのは、新機能の開発はKotlin優先で進めるということです。JavaはAndroidの基本機能では引き続きサポートされますが、Jetpack ComposeなどKotlin専用の新機能には対応しません。
Javaで開発を続ける意味がある3つのケース
Javaで始めることが合理的なケース
- ① JavaをWebやサーバーサイドで学習中の人:Javaの文法知識をそのまま活かせます。KotlinはJavaとは文法が異なるため、Android入門にJavaを使う方が追加の学習コストが少ないです
- ② 既存のJavaプロジェクトの保守・機能追加をする人:業務や学習プロジェクトでJavaで書かれたAndroidアプリがある場合、そのままJavaで作業するのが現実的です
- ③ Androidの基礎を理解してからKotlinに移行したい人:Activity・ライフサイクル・Intentなどの基礎概念はJavaでもKotlinでも同じです。Javaで土台を作ってから移行する学習パスも有効です
JavaとKotlinの互換性:なぜJavaで書いたコードが動くのか
「Kotlin-firstなのにJavaで書いたコードが動く」という状況が不思議に感じるかもしれません。この仕組みを理解しておくと、Javaで学習することへの不安が消えます。
100%相互呼び出し可能な仕組みと混在開発の実態
KotlinはJVM(Java仮想マシン)上で動作しており、JavaとKotlinは100%相互呼び出し可能です。同じプロジェクト内にJavaファイルとKotlinファイルを混在させることができ、JavaからKotlinのコードを呼び出すことも、KotlinからJavaのコードを呼び出すこともできます。
これはつまり、Javaで書いたActivityの中でKotlinで書かれたライブラリを使うことが可能です。Javaで開発を始めた後、慣れてきたタイミングで少しずつKotlinに切り替えていく段階的な移行ルートが現実的に存在します。
ただしKotlin専用の機能はJavaから使えない
- Jetpack Compose(宣言型UIツールキット)はKotlinのみ。JavaからComposeのUIを書くことはできません
- コルーチン(Kotlinの非同期処理)はJavaから直接使用できません
- KTX extensions(Kotlin向けのAndroid拡張)はJava非対応です
Javaで作れるもの・Jetpack Composeが使えないという事実
Javaで何が作れて、何が作れないかを明確にしておきます。「Jetpack Composeが使えない」と聞いて不安になる方もいますが、従来のXMLレイアウトを使った開発はJavaで問題なくできます。
Java対応・非対応の機能を表で整理する
| 機能 | Java対応 | 説明 |
|---|---|---|
| Activity・Fragment(画面の基本単位) | ✅ | Androidアプリの基礎。Javaで完全対応 |
| XMLレイアウト(UI作成) | ✅ | 従来のUI作成方法。Javaで使用可能 |
| RecyclerView(リスト表示) | ✅ | スクロールするリスト表示に使う |
| Room(データベース) | ✅ | SQLiteのAndroid公式ラッパー |
| Retrofit・OkHttp(通信) | ✅ | API通信やHTTPリクエスト |
| Intent(画面遷移・アプリ連携) | ✅ | カメラや電話など他アプリとの連携も可能 |
| SharedPreferences(データ保存) | ✅ | 設定値や簡単なデータの保存 |
| Jetpack Compose | ❌ | Kotlinのみ。Javaからは使用不可 |
| コルーチン(非同期処理) | ❌ | Kotlinのみ。Javaではスレッドで代替 |
Jetpack ComposeはAndroidの新しいUIの書き方で、XMLレイアウトに代わる技術です。将来的にはComposeが主流になる方向ですが、XMLレイアウトが廃止される予定は現時点でありません。Javaで入門する段階では、XMLレイアウトを使った開発で十分に基礎を習得できます。
環境構築【Android Studio Quail 1・2026年最新版】
2026年4月にAndroid Studio Quail 1(バージョン2026.1.1)がリリースされました。Javaの開発環境は、Android StudioをインストールするだけでほぼすべてOKです。
ダウンロード・インストール手順(JDK不要の理由)
Android Studio 2.2以降にはOpenJDK(Javaの実行環境)がバンドルされています。つまりJDKを別途インストールする必要はありません。Android Studio を入れるだけで開発を始められます。
- 公式サイト(developer.android.com/studio)からAndroid Studio Quail 1をダウンロード
- インストーラーを実行してデフォルト設定で進める
- 初回起動時にSDKコンポーネントのダウンロードが自動で始まる(数分〜10分程度)
- セットアップウィザードが完了したらスタート画面が表示される
インストール時の注意点
- 推奨スペック:RAM 8GB以上(エミュレータを使う場合は16GB推奨)・ストレージ空き容量10GB以上
- Windowsの場合、インストール先のパスに日本語・スペースが含まれると不具合が出ることがあります。CドライブのデフォルトパスにそのまmaInstallするのが安全です
Javaのより詳しい環境構築(JDKの種類・PATH設定・IntelliJとの比較)については、Java環境構築完全ガイドも参照してください。
新規プロジェクト作成とJava言語の選択
Android Studioのスタート画面で「New Project」をクリックします。テンプレート選択画面では「Empty Views Activity」を選択してください。「Empty Activity」はJetpack Compose用のテンプレートでKotlinのみ対応のため、Javaで開発する場合は必ずViews Activityを選びます。
- Name:アプリ名を入力(例:MyFirstApp)
- Package name:com.example.myfirstapp のような形式(デフォルトでOK)
- Language:Java を選択(ここが重要)
- Minimum SDK:API 24(Android 7.0)以上を推奨。古すぎると一部機能が使えないため
「Finish」を押すとプロジェクトが作成されます。MainActivity.java と activity_main.xml の2つのファイルが自動生成されます。これがAndroidアプリの最小構成です。
最初のアプリを動かすまでの3ステップ
環境構築ができたら、まず「動くもの」を作ることが先決です。難しく考えずに、3つのステップを順番に進めましょう。
ステップ1:Hello Worldを動かす
プロジェクトを作成した直後の状態で、すでに「Hello World」と表示するアプリが完成しています。上部の緑の三角ボタン(Run)を押してエミュレータを起動し、「Hello World」が画面に表示されれば成功です。
このとき自動生成されたファイルの関係を理解しておきましょう。MainActivity.javaがJavaのコードを書く場所で、activity_main.xmlが画面のレイアウトを定義するファイルです。Androidアプリは「Javaコード(処理)」と「XMLファイル(見た目)」がセットで1つの画面を作る仕組みになっています。
ステップ2:ボタンとクリックイベントを追加する
Hello Worldが動いたら、ボタンを追加してクリックしたときに反応するアプリに改造します。
まずactivity_main.xmlにButtonを追加します。XMLのレイアウトエディタで「+」からButtonを配置するか、直接XMLを編集してButtonタグを追加します。ButtonにはIDを設定します(例:android:id=”@+id/myButton”)。
次にMainActivity.javaで以下の流れで処理を書きます。
- findViewByIdでXMLのButtonをJavaオブジェクトとして取得する
- setOnClickListenerでボタンを押したときの処理を書く
- Toastクラスを使ってメッセージを画面に一時表示する
この「XMLでUIを定義してJavaで動きをつける」という流れがAndroid開発の基本パターンです。最初は慣れないかもしれませんが、何度か書くうちに自然に身につきます。
ステップ3:エミュレータと実機デバッグの使い分け
Androidアプリを動かす方法は2種類あります。
| 方法 | メリット | デメリット | 推奨シーン |
|---|---|---|---|
| エミュレータ | Android端末がなくてもOK・複数のAndroidバージョンをテストできる | 起動に1〜2分かかる・PCのスペックを消費する | 最終確認・複数バージョンテスト |
| 実機デバッグ | 動作が速い・タッチ操作をリアルに確認できる | Androidスマートフォンが必要 | 日常の開発・初心者の学習 |
PCのスペックが高くない場合は実機デバッグを推奨します。Androidスマートフォンの「開発者向けオプション」を有効化してUSBデバッグをONにし、PCとUSBケーブルで接続するだけで使えます。エミュレータの起動を待つ時間がなくなり、学習のテンポが格段に上がります。
Android開発で必ず覚えるべき基礎概念4つ
Hello Worldを動かした後、次に壁になるのがAndroid固有の概念です。Javaの文法とは別に、Androidアプリ特有の仕組みを理解することが必要です。順番に確認しましょう。
① Activityとライフサイクル
Androidアプリは「Activity(アクティビティ)」という単位で画面が構成されています。1つのActivityが1つの画面に対応します(厳密には異なりますが、入門段階ではこの理解でOKです)。
ActivityにはJavaの通常のクラスとは異なる「ライフサイクル」があります。ライフサイクルとは、アプリの画面が表示されてから消えるまでの一連の状態変化のことです。
| メソッド | 呼ばれるタイミング | 主な用途 |
|---|---|---|
| onCreate() | 画面が初めて生成されるとき | 初期化処理・UI設定 |
| onStart() | 画面が見えるようになるとき | 準備処理 |
| onResume() | ユーザーが操作できる状態になるとき | センサー・カメラの起動 |
| onPause() | 別の画面に移動するとき | データの一時保存 |
| onStop() | 画面が完全に見えなくなるとき | リソースの解放 |
| onDestroy() | 画面が破棄されるとき | 後処理 |
最初は「onCreate()に初期化を書く・onPause()やonStop()でデータを保存する」の2点を覚えておけば十分です。電話着信やアプリ切り替えが起きても適切に動くアプリを作るには、このライフサイクルの理解が不可欠です。
② XMLレイアウトとJavaコードの接続
AndroidのUIはXMLファイルで定義し、JavaコードからそのUIを操作する仕組みです。XMLで定義したボタンやテキストを「ID」を使ってJavaから参照します。
従来はfindViewByIdというメソッドでUIパーツを取得していましたが、Android Studio Quail 1ではViewBindingという仕組みが推奨されています。ViewBindingを使うと、IDの打ち間違いによるバグを防ぎながら、より読みやすいコードでUIを操作できます。build.gradleにviewBinding = trueを1行追加するだけで使えるようになります。
③ Intent(画面遷移の仕組み)
Intentは「何かを起動する指示」のことです。Androidアプリでは、自分のアプリの別画面に移動するときも、カメラや電話などの別アプリを起動するときも、Intentという仕組みを使います。
自分のアプリ内の画面遷移(明示的Intent)は、Intent(this, NextActivity.class)のように書いて、startActivity()に渡すのが基本パターンです。Intentを使って画面間でデータを受け渡すことも可能で、putExtra()とgetStringExtra()のペアを覚えておくと多くの場面で対応できます。
④ SharedPreferences(データの保存)
アプリを閉じても消えないデータを保存するには、SharedPreferencesを使います。ユーザー設定・ログイン状態・簡単なメモなど、量が少ないデータの保存に向いています。
使い方はシンプルです。getSharedPreferences()でインスタンスを取得し、edit()でデータを書き込み、apply()で保存します。読み込みはgetString()やgetInt()で取得できます。大量のデータや複雑なデータ構造が必要になってきたらSQLite(またはRoom)への移行を検討してください。
Javaで作る最初のアプリ題材の選び方
基礎概念を学んだら、実際にアプリを1本完成させることが最も重要です。「何を作ればいいかわからない」という状態で止まらないよう、目的別に3つの題材を提案します。
初心者向け3つの題材と選ぶ基準
最初のアプリ題材3選
- ① 計算機アプリ(最初の1本に最適):ボタンのクリックイベント・テキスト表示・簡単な計算ロジックを組み合わせます。UIとJavaコードの接続練習になり、2〜3日で完成できます。覚えること:ViewBinding・イベント処理・画面レイアウト
- ② 一言メモアプリ(SharedPreferencesの練習に最適):テキスト入力・保存・読み込みの流れを実装します。データ保存の仕組みを理解するのに最適です。覚えること:EditText・SharedPreferences・ライフサイクルでの保存タイミング
- ③ 単語帳アプリ(ステップアップに最適):複数画面・RecyclerView・データ一覧表示が含まれます。Androidの基礎が一通り揃った題材です。3〜4週間の学習に向いています。覚えること:Intent・RecyclerView・SQLite入門
ToDoアプリは学習素材として良い題材ですが、転職活動でポートフォリオとして使う場合は避けた方が賢明です。採用担当者は毎日同じToDoアプリを見ているため、差別化になりません。スキルアップ目的であればToDoアプリでも問題ありません。
初心者がつまずく3大ポイントと対策
Android開発を始めた初心者が詰まりやすい場所は、ほぼ共通しています。事前に知っておくだけで、詰まったときに「正常な壁にぶつかっている」と気づけます。
① アクティビティのライフサイクルで混乱する
「onCreateとonResumeのどちらに処理を書くべきかわからない」という混乱は、Android開発を始めたほぼ全員が経験します。基本ルールは次のとおりです。アプリ起動時に1回だけ行う処理はonCreate、画面に戻るたびに更新したい処理はonResumeに書きます。
よくある失敗パターンは、データ取得や更新処理をonCreateにすべて書いてしまい、別の画面から戻ってきたときにデータが古いままになるケースです。「戻ってきたときに更新が必要なもの」はonResumeに書くことで解決します。
② findViewByIdとXMLのIDが一致しない
Java側でfindViewById(R.id.myButton)と書いたのに動かない、というエラーは初心者に多いです。原因のほとんどはXML側のID(@+id/myButton)とJava側のID(R.id.myButton)の打ち間違いです。
この問題の根本的な解決策はViewBindingへの移行です。ViewBindingを使うと、IDの文字列を直接書く必要がなくなり、Android StudioのコードアシストでUIパーツを選択できます。build.gradleにviewBinding = trueを追加するだけなので、プロジェクト作成直後から設定しておくことをおすすめします。
③ エミュレータが重くて先に進めない
エミュレータの起動に2〜3分かかり、動作もカクカクする場合は、まず実機デバッグへの切り替えを試してください。Androidスマートフォンを持っているなら、USBデバッグを使った実機デバッグの方がエミュレータより圧倒的に軽快です。
PCのスペックを改善する場合は、BIOS設定でHyperVまたはHAXM(IntelチップのPC)が有効になっているか確認してください。この設定が無効だとエミュレータが極端に遅くなります。エミュレータのメモリ割り当てをAndroid Studioの「AVD Manager」から増やすことも有効です。
よくある質問(FAQ)
MacとWindowsどちらがAndroid開発に向いていますか?
Android開発に限ればどちらも対応しています。iOSアプリも並行して開発したい場合はMacが必要ですが、Androidのみであれば Windows・Mac・Linux のいずれでも開発できます。Android Studio の動作は両プラットフォームでほぼ同じです。
Javaの基礎がなくてもAndroidアプリ開発を始められますか?
始めることはできますが、Javaの基礎を先に学んでからの方が効率的です。変数・条件分岐・繰り返し・クラスの概念を理解していないと、Android固有のコードでつまずく前にJava文法でつまずきます。Progate や Java入門サイトで2〜3週間基礎を固めてからAndroid開発に入ることをおすすめします。
Javaで開発したアプリをGoogle Playに公開できますか?
できます。Google PlayはJavaで書かれたアプリもKotlinで書かれたアプリも同じように公開できます。ユーザーにとって使用言語は関係なく、アプリの動作や品質で評価されます。公開には開発者アカウントの登録(25ドルの一回限りの費用)が必要です。
JavaからKotlinにいつ切り替えるべきですか?
Activity・XML・Intent・SharedPreferencesを使ったアプリを1本完成させたタイミングが切り替えの目安です。この段階でAndroidの基礎概念は理解できているため、KotlinはJavaとの文法の違いを学ぶだけで始められます。Kotlin-firstの恩恵(Compose・コルーチン)を受けるには早めの移行が有利ですが、焦る必要はありません。
まとめ
JavaでAndroidアプリ開発を始めるにあたって、重要なポイントを整理します。
- JavaはAndroid開発で2026年現在も完全サポートされている。ただしJetpack Compose(最新UIツールキット)はJava非対応のため、XMLレイアウトを使った従来スタイルで開発する
- Android Studio Quail 1(2026.1.1)はJDK同梱済みのため、インストールするだけで環境構築が完了する
- Activity・ライフサイクル・XMLレイアウト・Intent・SharedPreferencesの5つの概念がAndroid入門の核心。Javaの文法とは別に習得する必要がある
- まずは計算機か一言メモアプリを1本完成させて、Androidアプリ開発の流れを体験することが最短ルート
まずAndroid Studio Quail 1をインストールして、Hello Worldを動かすところから始めましょう。Javaのさらなる学習リソースはJavaの無料学習サイト10選で比較できます。Androidアプリ開発のスキルを転職に活かしたい場合はJava転職スクールの費用と選び方も参考にしてみてください。Javaで基礎を習得したあと、KotlinやJetpack Composeへの移行を検討したい方は、Javaとは何かを詳しく解説した記事と合わせて読んでみてください。

