

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
androidmanifest.xml・とは?初心者にも分かる解説
AndroidManifest.xmlはAndroidアプリに欠かせない設定ファイルです。アプリ名やパッケージ名、権限の宣言、活動(画面)やサービスの登録など、アプリがどのように動くかをOSに伝える役割を持ちます。
Androidアプリを作るとき、必ず一つはこのファイルを用意します。このファイルが無いと、アプリは正しくインストールできなかったり、動作が不安定になります。特に権限宣言は、ユーザーのプライバシーとセキュリティに直結する大事な情報です。
基本的な構造と主要な要素
最上位の要素は manifest です。パッケージ名や バージョン情報、権限、アプリの構成要素を記述します。
このファイルには以下のような要素がよく登場します。
| 要素 | 説明 |
|---|---|
| manifest | 最上位要素。パッケージ名やバージョン、権限を定義します |
| uses-permission | アプリが使う権限を宣言します |
| application | アプリの設定の中心。アイコンや名前、活動の定義などをまとめます |
| activity | 画面を表示する単位。ユーザーと対話する画面を表します |
| intent-filter | この活動が受け取るインテントの条件を定義します |
基本構造の例として、以下のような要素が並びます。
AndroidManifest.xmlの場所について、現代のAndroid Studioの場合は通常 app/src/main/AndroidManifest.xml に配置します。以前のプロジェクト構成ではモジュールのルートやライブラリのマニフェストが結合されます。ビルド時にマージされることを覚えておくと良いです。
注意点として、ファイル名は AndroidManifest.xmlであり、 androidmanifest.xml という表記は慣例ではありません。ケースの違いによりファイルが認識されなくなる点に注意しましょう。
権限とAPIレベルの扱い
uses-permissionタグでアプリが必要とする権限を宣言します。権限は後でユーザーに表示され、同意を得る必要があります。例としてインターネットアクセスには android.permission.INTERNET を宣言します。
まとめ表
| ポイント | 要点 |
|---|---|
| 役割 | OSへアプリの基本情報と動作の指示を伝える |
| 必須要素 | manifest, application, activity など |
| 場所 | 通常 app/src/main/AndroidManifest.xml |
| 実務上のコツ | 権限宣言は最小限に。APIレベルに応じて uses-sdk を設定 |
このように AndroidManifest.xml はアプリの土台を作る大事なファイルです。慣れてくれば、権限の整理や画面の登録などの作業もスムーズに進みます。
androidmanifest.xmlの同意語
- AndroidManifest.xml
- Androidアプリの公式マニフェストファイル。パッケージ名や最低/ターゲットSDK、権限、アクティビティ、サービス、受信機など、アプリの基本情報と動作条件をXMLで宣言します。
- Androidアプリのマニフェスト
- Androidアプリの構成情報をまとめる公式ファイル。アプリ名、アイコン、権限、機能、コンポーネントなどを定義します。
- アプリのマニフェスト
- アプリの動作条件を定義するXMLファイル。主に権限とコンポーネントの設定に関する項目を含みます。
- マニフェストXML
- XML形式で記述される、アプリの構成情報をまとめたファイル。AndroidManifest.xmlと同等の役割を指します。
- Androidアプリの設定ファイル
- アプリの動作条件や環境設定を記述するファイル。実務上はAndroidManifest.xmlの日本語的表現として用いられることが多いです。
- 権限宣言ファイル
- アプリが利用する権限を宣言する部分に重点がある表現。実際には全体の構成情報を含むAndroidManifest.xmlの要素です。
- Androidアプリ構成ファイル
- アプリの機能、アクティビティ、サービス、パーミッションなど、全体の構成情報をまとめたファイル。
androidmanifest.xmlの対義語・反対語
- マニフェストなし
- AndroidManifest.xml がなく、アプリの構成情報を宣言していない状態を指す。実務上は現実的にはありえないが、対義語として“マニフェストあり”と比較するのに使える概念。
- 非宣言型設定
- 設定が manifest に宣言として書かれておらず、コードやリソース外部で決まる状態。宣言型の対義として挙げる。
- 動的設定
- アプリ起動時ではなく、実行時に決定・変更される設定。宣言型(事前に決定)との対比。
- ランタイム権限
- 権限を実行時にユーザーに問う方式。manifest で事前宣言する方式の反対概念として挙げる。
- コード内ハードコーディング
- 設定がソースコードに直接書かれており、外部の宣言ファイル(manifest など)を使わない状態。
- 外部メタデータ化
- 設定情報を AndroidManifest 以外の外部ファイルやサーバーに置く方法。宣言ファイルを外部化する対義。
- 手続き型設定
- 設定をコードの手続き的な処理で決めることで、宣言型の manifest に対する対比。
- 最小権限アプリ
- 必要最小限の権限しか要求しない状態。マニフェストで多くの権限を宣言するのと対比。
- 宣言的でない設計
- 設定を事前に宣言するのではなく、コードで決定する設計思想。
androidmanifest.xmlの共起語
- AndroidManifest.xml
- ファイル名そのもの。アプリの設定情報がXML形式で格納されるファイルです。
- マニフェスト
- AndroidManifest.xml の別称。全体の設定を指す一般用語です。
- マニフェストファイル
- 同じく設定情報を格納するファイルの呼称です。
- uses-permission
- アプリが利用する権限を宣言するタグ。例: android.permission.CAMERA
- uses-sdk
- SDK バージョンを宣言するタグ。minSdkVersion や targetSdkVersion などを含みます。
- minSdkVersion
- アプリが動作する最低の Android バージョンを示します。互換性に影響します。
- targetSdkVersion
- アプリが想定する最新の動作基準を示します。新機能の挙動や互換性に影響します。
- maxSdkVersion
- 許可される最大の Android バージョンを示します。現在は使われる機会が少ないケースがあります。
- application
- アプリの全体設定をまとめる要素。アイコンやテーマ、バックアップ設定などを含みます。
- activity
- 画面を表示するコンポーネント。ユーザーが操作する主な画面です。
- service
- バックグラウンドで処理を行うコンポーネント。長時間実行の処理に使われます。
- receiver
- ブロードキャストを受け取り処理するコンポーネント。イベント駆動型の動作に使用します。
- provider
- データを他のアプリと共有するためのデータ提供者。
- intent-filter
- このコンポーネントが受け取るインテントの条件を定義します。
- action
- インテントのアクション名を指定します。特定の処理を指示します。
- category
- インテントのカテゴリを指定します。主にインテントフィルターとセットで使います。
- data
- インテントに含めるデータの条件を定義します。スキームや MIME タイプなど。
- android:name
- 各要素の識別子となる属性。クラス名やリソース名を指します。
- android:exported
- 他のアプリからこの要素へアクセスできるかを指定します。新しいセキュリティ要件で重要です。
- android:icon
- アプリのアイコンを設定します。
- android:label
- 表示名を設定します。ホーム画面や設定画面に表示されます。
- android:theme
- アプリ全体の外観テーマを設定します。
- meta-data
- 追加情報を任意で格納する要素。設定の補足データとして使います。
- instrumentation
- アプリのテスト用設定。テスト実行時に使われます。
- launchMode
- アクティビティの起動モードを指定します。標準は standard、1 つのタスクで動作など。
- configChanges
- 画面回転などの設定変更時の再生成処理を制御します。
- permission
- 個別の権限を宣言するタグ。アプリが必要とする権限を列挙します。
- permission-group
- 権限のグループを定義します。関連する権限をまとめて管理します。
- supports-screens
- 対応する画面サイズや密度を宣言します。適切なレイアウト選択に役立ちます。
- uses-feature
- デバイス機能の必須・任意を宣言します。例: カメラやGPS の必要性を明示します。
androidmanifest.xmlの関連用語
- AndroidManifest.xml
- アプリの基本情報と権限、コンポーネントを宣言するXMLファイル。パッケージ名や使用権限、起動する画面などを定義します。
- package
- アプリの一意な識別子となるパッケージ名を指定します。例: com.example.myapp
- application
- アプリの全体設定をまとめる要素。アイコンやテーマ、各コンポーネントの設定を含みます。
- activity
- 画面を表すコンポーネント。ユーザーが操作する画面を定義し、起動時の画面も決めます。
- service
- バックグラウンドで処理を行うコンポーネント。長時間実行や定期処理を担当します。
- receiver
- ブロードキャストを受信して処理するコンポーネント。イベント駆動型の動作に使います。
- provider
- 他のアプリとデータを共有するためのデータ提供元。データの管理と保護を行います。
- intent-filter
- 特定のコンポーネントが受け取るインテントを宣言する要素。起動条件や処理対象を指定します。
- uses-permission
- アプリが利用する権限を宣言します。位置情報やカメラなどの使用許可を明示します。
- permission
- アプリ独自の権限や他アプリの権限の定義を行います。権限の公開範囲を決めます。
- uses-feature
- デバイスがサポートする機能を宣言します。必須か任意かを設定します(例: カメラ、GPS)。
- minSdkVersion
- アプリが動作する最低限のAndroid APIレベルを指定します。
- targetSdkVersion
- アプリが最適に動作するAPIレベルを指定します。新機能の挙動に影響します。
- maxSdkVersion
- サポートする最大APIレベルを宣言します。現在は使われることが少ないです。
- uses-sdk
- 古い宣言要素。minSdkVersionとtargetSdkVersionを含みます。現在は補助的に使われます。
- android:name
- 各コンポーネントの識別名を指定します。ActivityやServiceなどの実体名です。
- android:icon
- アプリのアイコン画像を指定します。
- android:label
- 表示名を設定します。ホーム画面や設定画面に表示されます。
- android:theme
- アプリ全体のテーマを指定します。色やフォントのスタイルを決めます。
- android:exported
- 他のアプリからそのコンポーネントを起動できるかを宣言します。Android 12 以降で重要です。
- android:debuggable
- デバッグビルドかどうかを示します。本番配布時は false が推奨されます。
- android:allowBackup
- ユーザーデータのバックアップを許可するかを宣言します。
- android:usesCleartextTraffic
- 非暗号化通信の許可を設定します。HTTPSの利用を推奨します。
- android:installLocation
- アプリのインストール先を設定します。内部ストレージか自動を指定します。
- android:fullBackupContent
- バックアップ時に含めるファイルの規則を定義します。
- android:hardwareAccelerated
- ハードウェアアクセラレーションの有効化を設定します。
- android:resizeableActivity
- マルチウィンドウでの表示を許可するかを指定します。
- android:launchMode
- Activity の起動モードを指定します(例: standard, singleTop, singleTask, singleInstance)。
- android:screenOrientation
- 画面の向きを固定します(縦向き/横向きなど)。
- configChanges
- 画面回転などの設定変更を自分で処理するかを宣言します。
- data
- intent-filter 内で処理するデータの型や URI スキームを定義します。
- action
- intent-filter で宣言するアクションの例を含みます(例: MAIN)。
- category
- intent-filter で宣言するカテゴリの例を含みます(例: LAUNCHER)。
- android:autoVerify
- App Links の自動検証を有効にします。
- permission-group
- 権限をグループ化して整理します。
- permission-tree
- 権限の階層的な整理に使われます。
- instrumentation
- テストや分析のための計測ツールを宣言します。
- meta-data
- 追加情報を設定します。アプリの挙動を補足します。
- supports-screens
- アプリが対応する画面サイズや密度を宣言します。
- compatible-screens
- サポートする特定の画面サイズを厳密に指定します。
- android:foregroundServiceType
- フォアグラウンドサービスの用途を明示します。
- networkSecurityConfig
- ネットワークのセキュリティポリシーを外部ファイルで定義します。
- sharedUserId
- 同じユーザーIDで別アプリとデータを共有する設定。セキュリティに注意が必要。
- sharedUserLabel
- sharedUserId の表示名を宣言します。
androidmanifest.xmlのおすすめ参考サイト
- AndroidManifest.xmlとは?分かりやすく説明 - AndroidBlog.東京
- AndroidManifest.xmlとは?分かりやすく説明 - AndroidBlog.東京
- マニフェストファイルとは - IT用語辞典 e-Words



















