「AndroidManifest.xml」とは?
状態:-
閲覧数:2,573
投稿日:2013-05-21
更新日:2014-01-22
アプリケーションに含まれるアクティビティやサービスなどに関する設定を定義するファイル
・すべてのアプリケーションは、ルートディレクトリにAndroidManifest.xml ファイルを配置することが必要
例
・アクティビティを作成するとデフォルトで作成されるソースコード
※アプリケーション起動時に表示されるアクティビティ … SampleActivity
・アプリケーション起動時に表示されるアクティビティを指定
・「追加したアクティブティ」を「アプリケーション起動時に表示」させるよう指定
・すべてのアプリケーションは、ルートディレクトリにAndroidManifest.xml ファイルを配置することが必要
例
・アクティビティを作成するとデフォルトで作成されるソースコード
※アプリケーション起動時に表示されるアクティビティ … SampleActivity
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.androidstyle.tokyo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".SampleActivity"
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>
・アプリケーション起動時に表示されるアクティビティを指定
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
・「追加したアクティブティ」を「アプリケーション起動時に表示」させるよう指定
マニフェストの主な役割
一覧
アプリケーションの Java パッケージ名を指定
・パッケージ名でアプリケーションを一意に識別
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.androidstyle.tokyo"
android:versionCode="1"
android:versionName="1.0" >
アプリケーションのコンポーネントを記述
・アプリケーションは、「アクティビティ」「サービス」「ブロードキャストレシーバ」「コンテンツプロバイダ」で構成されている
・それぞれコンポーネントを実装したクラスの名前およびその機能を宣言
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".SampleActivity"
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>
・これらの宣言により、 Android はどんなコンポーネントがあるのか、どういった条件でそれらが起動されるのかということを知ることができる
保護されたAPI 部品にアクセスするため、および他のアプリケーションと相互作用するために、アプリケーションに付与すべき許可の選択を宣言
このアプリケーションのコンポーネントと相互作用するために、外部に付与されるべき許可を宣言
アプリケーション実行時の分析およびその他の情報を提供する Instrumentation クラスを列挙
・この宣言は、アプリケーションの開発時やテスト時のみマニフェストに存在。つまりアプリケーションの公開前に削除される
アプリケーションが必要とする Android API の最低限のレベルを宣言
<uses-sdk android:minSdkVersion="7" />
アプリケーションがリンクする必要があるライブラリをリスト
manifest
概要
AndroidManifest.xmlのルート要素
xmlns:android
・Androidのネームスペース属性
・下記のように定義されている必要あり
xmlns:android="http://schemas.android.com/apk/res/android"
package
・アプリケーションのパッケージ名を完全修飾名で指定
package="android.style"
・パッケージ名 … 「android.style」・ファイルパス … /src/android/style/MainActivity.java
利用用途
・基準パッケージ名
・コンポーネントのクラス名など、このパッケージからの相対パス名で記述できる
・プロセス名
・アプリケーションが実行するときのデフォルトプロセス名として利用
・Affinity
・コンポーネントのデフォルト Affinity として利用
versionCode
android:versionCode="1"
・ユーザーに見せない内部的なバージョン番号・どちらが新しいかを比較するために利用
versionName
android:versionName="1.0"
・ユーザーに対してアプリケーションのバージョンを明示するためのバージョン番号【解説】アクティビティとインテント - Androidアプリ開発講座
AndroidManifest.xml | Android | AndroidStyle
AndroidManifest.xml 詳細
a. AndroidManifest.xml ファイル - ソフトウェア技術ドキュメントを勝手に翻訳
AndroidManifest.xml(Android設定ファイル) - Monacaドキュメント
uses-sdk < manifest
概要
・アプリケーションのAPIレベルを設定(このアプリケーションがどのAndroid SDKで動作可能なのかを定義)
・<manifest>要素の中に定義
minSdkVersion
android:minSdkVersion="8"
・アプリケーション動作に必要なAPI Levelを整数で指定・Androidは、その端末のAPIレベルがここで指定された値より低い場合に、ユーザーがこのアプリケーションをインストールしないように保護する
targetSdkVersion
android:targetSdkVersion="17"
・このアプリケーションがターゲットとしているAPI Levelを整数で指定