[Android/Android]マニフェストとは?



📌リストとは?


Manifestファイルは、Android構築ツール、Androidオペレーティングシステム、Google Playでアプリケーションに必要な情報を記述しています.一番上のフォルダにはAndroidManifest.xmlがあるはずです.この情報は、アプリケーションが実行される前にシステムが知っておくべき内容を定義します.

Package Name


Manifestファイルのルート要素<manifest></manifest>には、アプリケーションのパッケージ名が含まれている必要があります.「com.example.myapplication」というパッケージを作成すると、次のようなManifestファイルが生成されます.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package=“com.example.myapplication”
    android:versionCode="1"
    android:versionName="1.0" >
    ...
</manifest>
アプリケーションを構築してAPKを抽出する過程で、Android Build Toolは以下の2つの目的に使用されます.
  • App ResourceにアクセスするためのRクラスネーミングスペースに適用
    上記の例では、com.example.myapplication.Rクラスが作成されました.
  • Manifestファイルで宣言された相対パスに適用
    たとえば、<activity android:name=".MainActivity>と宣言した場合は、「com.example.myapplication.MainActivity」となります.
  • <manifest package="com.example.myapplication" ... >
        <application ... >
            <activity android:name=".MainActivity" ... >
                ...
            </activity>
        </application>
    </manifest>

    App Components


    Androidシステムには4つのコンポーネントがあり、アプリケーションでこれらのコンポーネントを使用するためには、Manifestファイルに対応するXML要素を宣言する必要があります.
  • 〈Activity〉:Activityの各サブクラス
  • 〈サービス〉:サービスの各サブクラス
  • 〈受信機〉:Broadcast Receiveの各サブクラス
  • 〈プロバイダ〉:コンテンツプロバイダの各サブクラス
  • Permissions


    Androidアプリケーションは、機密ユーザーデータまたは特定のシステム機能にアクセスする権限を要求する必要があります.たとえば、インターネット権限を使用するアプリケーションには、次の行が必要です.
    <manifest ... >
        <uses-permission android:name="android.permission.INTERNET"/>
        ...
    </manifest>