最終更新:2015-12-03 (木) 12:48:30 (2666d)
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>
エントリポイント
- intent-filterのaction?タグの親のactivityが、このアプリケーションのエントリポイント、開始画面として設定されていることを表す
要素
manifest
application - 必須
instrumentation?
permission?
permission-group?
permission-tree?
uses-configuration?
uses-permission
uses-sdk
置き場所
- ADT/プロジェクト/AndroidManifest.xml?
- Android Studio/プロジェクト/app/src/main/AndroidManifest.xml
関連
- Android/アクティビティ - android.app.Activity
- Android/インテント - android.content.Intent
- Android/アクション?
- Android/サービス - android.app.Service