バージョン:Android Studio Quail 2 | 2026.1.2 Patch 1
目次
重要な3つのフォルダ

manifesutsフォルダ
このアプリの実行に必要な設定が記述されている。
AndroidManifest.xmlファイルが格納されている。
kotlin+javaフォルダ
このフォルダの中には、.javaファイルと.ktファイルを格納する。
なお、パッケージ右側に「(androidTest)」や、「(Test)」と記述されているのは、Androidアプリをテストするための。javaファイル、.ktファイルの格納先。
resフォルダ
Androidでは、画面構成をXMLファイルに記述する。そういった.xmlファイルや、アプリで使われる画像ファイルなどを格納するのが、resフォルダである。ちなみにresはresorceの略。
- drawable:画像を格納。
- layout:画面構成に関わる.xmlファイルを格納。
- mipmap:アプリのアイコンを格納。
- values:アプリで表示する固定文字列(string.xml)、画面のスタイル(styles.xml)、色構成(colors.xml)を表す.xmlファイルを格納。
3つの重要ファイル
Android Studioで通常のアプリ開発で実際に編集する主な3つの重要ファイル。
レイアウトXMLファイル
ボタンや文字の配置など、アプリの画面デザインを作成する場所。app/src/main/res/layout/activity_main.xml など。
プログラムファイル(Kotlin / Java)
ボタンを押したときの動作や画面の切り替えなど、アプリの動きを記述するコードを書く場所。
app/src/main/java/ 内の MainActivity.kt など。
文字列・リソースファイル
アプリに表示する文字や色をまとめて管理する場所。
app/src/main/res/values/strings.xml など。
実際に編集する主なファイル
通常のアプリ開発でよく編集するファイルは以下の3つ
- res/layoutフォルダ中のレイアウトXMLファイル(画面構成用の.xmlファイルをレイアウトファイルと呼ぶ)下のktファイルとペアになっている。
- javaフォルダ中の.ktファイル(Kotlinクラスのことをアクティビティと呼ぶ。)
- res/valuesフォルダ中のstrings.xmlファイル:アプリ内で使われる文字列は、上2つのソース中に直接入力するのではなく、このstrings.xmlに記述されることになる。
- プロジェクトを作成。
- strings.xmlに表示文字列を記述。
- レイアウトxmlファイルに画面構成を記述。
- アクティビティなどの.ktファイルに処理を記述。
- アプリを起動して動作確認。
これが大雑把に見た開発の流れになる。
プロジェクトの開発のスタート
Android Studioを開き、新しいプロジェクトで「Empty Activity」を選択、Nextをクリック。
注意!このバージョンでは「Empty Activity」を選択した場合、Jetpack Composeを使用することになる。

新しいプロジェクトを「MyFirstApp」という名前で作成。Finishをクリック。

ここで多分エラーが出ると思う
このエラーを一つずつ解決する必要がある。


- 依存関係 ‘androidx.core:core-ktx:1.19.0’ は、それに依存するライブラリおよびアプリケーションが Android API バージョン 37 以降でコンパイルされることを要求します。
:app は現在 android-36.1 でコンパイルされています。
推奨される対処法: このプロジェクトを更新して、少なくとも 37 以降のコンパイル SDK (例: 37.1) を使用するようにしてください。
ライブラリまたはアプリケーションのcompileSdk(新しいAPIを使用できるようにする)の更新は、targetSdk(アプリを新しいランタイム動作に対応させる)およびminSdk(アプリをインストールできるデバイスを決定する)の更新とは別に実行できることに注意してください。
- 依存関係「androidx.core:core:1.19.0」は、この依存関係を持つライブラリおよびアプリケーションが、Android APIバージョン37以降でコンパイルされることを要求します。
:appは現在android-36.1でコンパイルされています。
推奨される対応:このプロジェクトを更新して、少なくとも37(例:37.1)の新しいcompileSdkを使用するようにしてください。
ライブラリまたはアプリケーションのcompileSdk(新しいAPIを使用できるようにする)の更新は、targetSdk(アプリを新しいランタイム動作に対応させる)およびminSdk(アプリをインストールできるデバイスを決定する)の更新とは別に実行できることに注意してください。
- 依存関係「androidx.lifecycle:lifecycle-runtime-compose-android:2.11.0」は、それに依存するライブラリおよびアプリケーションが、Android API バージョン 37 以降でコンパイルされることを要求します。
:app は現在、android-36.1 でコンパイルされています。
推奨される対処法: このプロジェクトを更新して、少なくとも 37 以降のコンパイル SDK (例: 37.1) を使用するようにしてください。
ライブラリまたはアプリケーションのコンパイル SDK (より新しい API を使用できるようにする) の更新は、target SDK (アプリを新しいランタイム動作に対応させる) およびmin SDK (アプリをインストールできるデバイスを決定する) の更新とは別に実行できることに注意してください。
この3つのエラーはいずれもAndroid API バージョン 37 以降でコンパイルする必要があるとなっているのでバージョンを37にアップする必要があるようだ。

build.gradle.ktsを選択してバージョンを1箇所37に変更。最後にSync Nowをクリックして更新する。
再度、ビルドするとHollo Android!と表示される簡単なアプリになる。

最新のバージョンではlayoutがない
「Empty Activity」でレイアウト(layout)フォルダがない理由。
近年のバージョンで「Empty Activity」がJetpack Compose(コードで画面を作る方式)を標準テンプレートとして採用しているため、従来のXMLファイルを格納する res/layout フォルダが最初から作られない仕様になっている。
従来のXMLレイアウトを使うには「Empty Activity」ではなく「Empty Views Activity」を選んでプロジェクトを再作成する必要がある。
これにより、res/layout フォルダと activity_main.xml が自動生成されることになる。
今作成しているプロジェクトで対応する場合app/src/main/res フォルダを右クリックして、「New」から「Directory」を選び、名前を layout にする。
その中に新しいXMLファイルを作成すれば良いことになる。
Jetpack Composeが良いか、従来のXML(activity_main.xml等)を使った方が良いか?
結論として、新規のAndroidアプリ開発ではJetpack Composeを使うべき。
Googleが公式に推奨する標準のUIツールキットであり、コード量を減らして直感的に画面を作れるため。
特別な理由がない限り、従来のXMLレイアウトを選ぶメリットは少なくなっている。
Jetpack Composeのメリット
コードが短くなる: KotlinだけでUIを書けるため、XMLとKotlinを行き来する手間がなくなります。
状態管理が簡単: データが変わると自動で画面が更新される仕組み(宣言的UI)になっています。
開発の生産性向上: 部品の再利用がしやすく、プレビュー機能も快適に使えます。
従来のXMLを使うべきケース
既存の大規模アプリ: すでにXMLで大量のコードが書かれているプロジェクトでは、移行コストが高くなります。
学習コストの回避: チーム全員がXMLに慣れていて、新しい書き方を覚える時間がない場合。今進めているプロジェクトは、新規の開発ですか、それとも既存のXMLアプリの改修ですか?
参考になるサイトが少ない:まだ始まったばかりなので参考にするサイトがほとんど無い。
この比較サイトにどちらを選択した方が良いか詳しく説明されている。

