LoginSignup
51
38

More than 5 years have passed since last update.

AndroidManifest.xml の備忘録

Last updated at Posted at 2016-03-22

はじめに

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 ファイルで定義するアプリの構成要素です。
アプリの設定に関するサブ要素を含んでいて、アプリに関する様々な指定が行えます(ラベル、アクティビティ、サービスなど)

最後に

本当に初歩の各要素(+属性)について細かく書いていったら時間がいくらあっても足りないし、更新されて仕様が変わったら無駄なので必要な箇所だけを記載しておきます。


  1. 以前は全要素と書いていましたが、今調べたところsupports-gl-textureなどの新しい要素が加わっていたので全要素の文字を削除しました 

  2. それ以外の要素はアプリの構成によってあったり無かったり複数あったり… 

51
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
38