はじめに
AndroidManifest.xml は、アプリ作成において必須のファイルです。
AndroidManifest.xml には、ファイルにはアプリケーションに関する情報が記載されています。
マニフェストに記載された情報は、Androidシステムに提供されます。
ここには初歩的な内容を自分用の備忘録として残します。
AndroidManifest.xmlの要素
マニフェストで使用している要素の一例です。1
軽く眺める程度で覚えなくていいです。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="string">
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-permission />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<application>
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<provider>
<grant-uri-permission />
<path-permission />
<meta-data />
</provider>
<uses-library />
</application>
</manifest>
AndroidManifest.xml の約束
AndroidManifest.xml を記載する上で重要な事は以下の4点です。
- マニフェストは規定された要素のみで独自の要素や属性を追加することはできません
- マニフェストには
<manifest>
と<application>
の要素は必須です -
<manifest>
と<application>
の要素の記載はAndroidManifest内で1回のみ2 -
<application>
要素は<manifest>
要素内に含むこと
つまりAndroidManifest.xmlの最小構成はこの様になります。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="string">
<application>
</application>
</manifest>
manifest 要素について
AndroidManifest.xml ファイルのルート要素です。
ここにはひとつの 要素を含め、xlmns:android と package 属性を特定する必要があります。
xmlns:android
xmlns:android は Androidネームスペースを定義します。
この属性は常に xmlns:android="http://schemas.android.com/apk/res/android" と設定されている必要があります。
要約すると「このファイルはAndroid用のxmlファイルです」と宣言しているのです。
package
Androidアプリを識別するために必要な情報。
Java言語のパッケージと同じ様にメインファイルまでのパスを指定します。
以下のファイル構成の場合は package="com.example"
となります。
main
├ AndroidManifest.xml
└ java
└ example
└ com
├ Main.java
└ Sub.java
application 要素について
AndroidManifest.xml ファイルで定義するアプリの構成要素です。
アプリの設定に関するサブ要素を含んでいて、アプリに関する様々な指定が行えます(ラベル、アクティビティ、サービスなど)
最後に
本当に初歩の各要素(+属性)について細かく書いていったら時間がいくらあっても足りないし、更新されて仕様が変わったら無駄なので必要な箇所だけを記載しておきます。