■ なぜManifestファイルが必要なのか?
Androidアプリには必ず AndroidManifest.xml
というファイルがあります。これは、アプリ全体の“設計図”や“宣言書”のような役割を持つファイルです。
Javaで例えるなら、クラス定義やアクセス修飾子、インポート文などを1つのファイルにまとめて書くようなものです。Androidシステムは、このファイルを通じてアプリの構成・能力・動作条件を知り、動作許可を判断します。
■ どんなことを宣言するのか?
主に以下のような情報がこのファイルに書かれます:
機能 | 内容の例 |
---|---|
アプリの基本情報 | パッケージ名、アイコン、アプリ名など |
コンポーネントの登録 | Activity、Service、BroadcastReceiverなど |
権限の宣言 | インターネット通信、カメラ使用、位置情報など |
最小/対象SDKバージョン | 動作可能なAndroidのバージョン範囲 |
Intentフィルタ | 他のアプリから呼び出される条件など |
■ 実例で見るManifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<!-- ネットワークアクセスの権限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:label="My App"
android:icon="@mipmap/ic_launcher"
android:theme="@style/Theme.MyApp">
<!-- メイン画面としてのActivity -->
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 追加の画面 -->
<activity android:name=".SecondActivity" />
</application>
</manifest>
■ 解説ポイント
<manifest>
のpackage
属性がアプリの基本的な識別子(Javaでいうパッケージ名)です。<uses-permission>
で、必要な機能(カメラ、インターネットなど)をAndroid OSに申請します。<application>
の中に、実際に使う画面(Activity)などの構成要素を登録します。MainActivity
に付いている<intent-filter>
により、「このActivityを起動時のスタート画面にする」とAndroidに教えています。
■ AndroidManifestがないとどうなる?
- Activityが登録されていない → 起動時にクラッシュ
- パーミッションを宣言していない → ネット接続などの機能が動作しない
- バージョン情報が不足している → 古い/新しい端末でインストールできない
つまり、Manifestは「Androidシステムとアプリの間で、約束事を明確にしておくための重要なファイル」です。
まとめ:Manifestは“アプリの説明書”
Manifestファイルは普段あまり頻繁には触らないかもしれませんが、アプリの構成や振る舞いをOSに伝えるための必須ファイルです。新しい画面(Activity)を作ったらManifestへの登録を忘れずに行う習慣をつけておきましょう。