最終更新:2015-12-03 (木) 12:48:30 (3060d)  

AndroidManifest.xml
Top / AndroidManifest.xml

http://developer.android.com/guide/topics/manifest/manifest-intro.html

http://developer.android.com/guide/topics/manifest/application-element.html

AndroidManifest.xml ファイル

すべてのアプリケーションはそのルートディレクトリにAndroidManifest.xml ( まさにこの名前で ) ファイルが必要です。マニフェストがアプリケーションに関する必要不可欠な情報を表現し、それを Android システムに伝え、アプリケーションのコードが実行される前に、この情報をシステムが持っていなければなりません。

他の主な役割として、マニフェストは以下のことを行います。

  • アプリケーションの Java パッケージ名を指定します。パッケージ名がアプリケーションを一意に識別する名前を提供します。
  • アプリケーションはアクティビティ、サービス、ブロードキャストレシーバ、コンテンツプロバイダで構成されています。そのアプリケーションのコンポーネントを記述します。-それぞれコンポーネントを実装したクラスの名前およびその機能 ( 例えば、 Intent メッセージをハンドリングできるコンポーネントの選択 ) を公開します。 これらの宣言により、 Android はどんなコンポーネントがあるのか、どういった条件でそれらが起動されるのかということを知ることができます。
  • ホストとなるアプリケーションのコンポーネントを決定します。
  • 保護されたAPI 部品にアクセスするため、および他のアプリケーションと相互作用するために、アプリケーションに付与すべき許可の選択を宣言します。
  • 同じように、このアプリケーションのコンポーネントと相互作用するために、外部に付与されるべき許可を宣言します。
  • アプリケーション実行時の分析およびその他の情報を提供する Instrumentation クラスを列挙します。この宣言は、アプリケーションの開発時やテスト時のみマニフェストに存在します。つまりアプリケーションの公開前に削除されます。
  • アプリケーションが必要とする Android API の最低限のレベルを宣言します。
  • アプリケーションがリンクする必要があるライブラリをリストします。

<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
    <application . . . >
        <activity android:name="com.example.project.FreneticActivity"
                  android:icon="@drawable/small_pic.png"
                  android:label="@string/freneticLabel" 
                  . . .  >
        </activity>
        . . .
    </application>
</manifest>

.apkに入っている状態

  • バイナリ化されたXMLになっている

デコード

  • <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.tokkyo.myapplication" >
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>

エントリポイント

要素

manifest

application - 必須

instrumentation?

permission?

permission-group?

permission-tree?

uses-configuration?

uses-permission

uses-sdk

置き場所

関連

参考