プログラミング系のネタをまとめていきます。

マニフェストファイルの構成


とりあえず参考サイトからコピペしています。
これを元に、自分なりに情報を整理します。

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <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>

マニフェストファイルの要素

<action>
<activity>アクティビティ(Activity)の宣言。全てのアクティビティはこの要素で宣言する必要がある。
<activity-alias>
<application>アプリケーションの宣言
<category>
<data>
<grant-uri-permission>
<instrumentation>
<intent-filter>
<manifest>
<meta-data>
<path-permission>
<permission>セキュリティ上のパーミッションの宣言
<permission-group>
<permission-tree>
<provider>
<receiver>
<service>
<supports-screens>スクリーンサイズ、解像度のサポート
<uses-configuration>
<uses-feature>
<uses-library>
<uses-permission>アプリケーションが動作するために必要なパーミッションの要求。アプリインストール時に付与される。
<uses-sdk>

application


●親要素
  • <manifest>

●子要素
  • <activity>
  • <activity-alias>
  • <service>
  • <receiver>
  • <provider>
  • <uses-library>
android:allowClearUserDatatrue/falseユーザデータを削除するオプションをユーザに与えるかどうか。デフォルトはtrue
android:allowTaskReparentingtrue/falseアクティビティが切り替わる際に、タスクが移動可能かどうか。デフォルトはfalse
<activity>要素ごとに上書き可能
android:debuggabletrue/falseアプリケーションのデバッグが可能かどうか。デフォルトはfalse。アプリをリリースする際にfalseにするのを忘れないように。
android:description文字列リソースアプリケーションの説明。
android:enabledtrue/falseアプリケーションのコンポーネントをインスタンス化できるかどうか。デフォルトはtrue
android:hasCodetrue/falseアプリケーションが任意のコードを持っているかどうか。デフォルトはtrue
android:icondrawableリソースアプリ全体のアイコン。<activity>, <activity-alias>, <service>, <receiver>, <provider>毎にアイコン指定可能
android:label文字列リソース
android:manageSpaceActivity文字列
android:name文字列
android:permission文字列アプリケーションの全てのコンポーネントに対するパーミッション。コンポーネント毎のpermissionで上書き可能。
android:persistenttrue/false常駐可能かどうか。デフォルトはfalse。システムアプリなどの特別なアプリの時だけtrueにする。
android:process文字列アプリケーションの全てのコンポーネントが実行されるべきプロセス名。
デフォルトのプロセス名は <manifest> 要素で設定されたパッケージ名。
android:taskAffinity文字列アプリケーション内のすべてのアクティビティに割り当てるアフィニティ名
android:themeリソース or テーマアプリケーションのすべてのアクティビティに対するデフォルトのテーマ。アクティビティ毎に theme 属性で上書き可能

activeity


●親要素
  • <application>

●子要素
  • <intent-filter>
  • <meta-data>
android:allowTaskReparentingtrue / false<application>要素のalloTaskReparentingを上書きする要素。デフォルトはfalse
android:alwaysRetainTaskStatetrue / false属するタスクの状態がシステムに保持されるかどうか。ルートアクティビティのみ。デフォルトはfalse
android:clearTaskOnLaunchtrue / falseホームスクリーンから再起動されるとき、ルート以外のアクティビティをリセットするかどうか。デフォルトはfalse
android:configChangesmcc,mnc,その他多数アクティビティがハンドリングする「設定の変更」を列挙する。
android:enabledtrue / falseシステムにより、アクティビティをインスタンス化出来るかどうか。デフォルトはtrue
android:excludeFromRecentstrue / falseアクティビティ起動履歴から削除するかどうか。デフォルトはfalse
android:exportedtrue / false外部のアプリからアクティビティを起動てきるかどうか。デフォルトはtrue。
また、インテントフィルタの設定にも依存する
android:finishOnTaskLaunchtrue / falseデフォルトはfalse
android:hardwareAcceleratedtrue / falseハードウェア描画を有効にするかどうか。デフォルトはtrue
android:iconDrawable リソース
android:labe文字列リソース
android:launchModemultiple / singleTop
(singleTask / singleInstance 一般的な用途では非推奨)
アクティビティの起動方法。アクティビティのインスタンスを作るかどうか。デフォルトはstandard
android:multiprocesstrue / falseアクティビティのインスタンスが、それを起動したコンポーネントのプロセス内で実行できるかどうか。デフォルトはfalse
android:name文字列
android:noHistorytrue / falseアクティビティが非表示になった時にスタックから取り除かれるかどうか。デフォルトはfalse
android:permission文字列クライアントがアクティビティを起動するために必要とするパーミッション、または、インテントに応答するために取得するパーミッション。
<application>のpermissionを上書きする。
android:process文字列アクティビティが実行されているべきプロセスの名前
android:screenOrientationunspecified / user / behind
landscape / portrait
sensor / nosensor
表示される時のオリエンテーション。デフォルトは unspecified
android:stateNotNeededtrue / falseアクティビティがその状態を保存せずに、破棄され、無事に再起動されることが可能かどうか。
true:前の状態を参照せずに再起動。false:前の状態を必要とする。デフォルトはfalse。
trueの場合、onSaveInstanceState()が呼び出されなくなる可能性がある。
android:taskAffinity文字列親和性の対象となるタスク名
android:themeリソースまたはテーマ
android:windowSoftInputModestateUnspecified, stateUnchanged, その他多数アクティビティのメインウィンドウとソフトキーボードの相互作用。表示を見やすくするための動作の指定。

intent-filter


アクティビティ、サービス、またはブロードキャストレシーバが応答できるインテントのタイプを特定する。
フィルタの内容はほとんどが <action>、 <category>、<data> のサブ要素で記述される。

●親要素
  • <activity>
  • <activity-alias>
  • <service>
  • <receiver>

●子要素
  • <action>(必須)
  • <category>
  • <data>
android:icondrawable リソース
android:label文字列 リソース
android:priority数値
action

定義済みアクション。ACTION_*と定義されている。
http://developer.android.com/reference/android/con...

ACTION_MAIN の場合、"android.intent.action.MAIN"
ACTION_WEB_SEARCH の場合、"android.intent.action.WEB_SEARCH"
という感じで指定する。

category

カテゴリ。CATEGORY_*と定義されている。
http://developer.android.com/reference/android/con...

CATEGORY_LAUNCHER の場合、"android.intent.category.LAUNCHER"
という感じで指定する。
data

インテントフィルタに対するデータの仕様を指定する。
http://www.techdoctranslator.com/android/guide/man...
  • image/jpeg や audio/mpeg4-generic といった MIME メディアタイプの指定
  • URI指定

manifest


AndroidManifest.xml ファイルのルート要素。

●子要素
  • <application>(必須)
  • <instrumentation>
  • <permission>
  • <permission-group>
  • <permission-tree>
  • <uses-configuration>
  • <uses-permission>
  • <uses-sdk>
xmlns:androidAndroidネームスペース。常に"http://schemas.android.com/apk/res/android"
package文字列アプリのフルパッケージ名
android:sharedUserId文字列他のアプリケーションと共有される Linux ユーザ ID の名前。同じユーザーIDを持つアプリは、お互いのデータにアクセス可能。
android:sharedUserLabel文字列リソース
android:versionCode数値内部のバージョン番号。
android:versionName文字列ユーザーに示すバージョン番号。

supports-screens

android:resizeabletrue/false非推奨
android:smallScreenstrue/false通常のスクリーンサイズ(traditional HVGA:VGAの半分)より低いアスペクト比に対応ならtrue。スマートウォッチとか?デフォルト true。
android:normalScreenstrue/false通常のスクリーンサイズに対応ならtrue。WQVGA, WVGA も通常とみなされる。デフォルト true。
android:largeScreenstrue/false通常スクリーンサイズより大きい画面に対応。デフォルト false。
android:xlargeScreenstrue/falselargeScreenより大きいサイズ。タブレット系。デフォルト false。
android:anyDensitytrue/false任意の画面解像度に対応しているかどうか。基本的には true。確実に非対応だと分かる場合はfalseに設定可能。
android:requiresSmallestWidthDpintegerアプリUIで必要な最低画面スペースサイズ(dp:ドットピッチ)
android:compatibleWidthLimitDpinteger
android:largestWidthLimitDpinteger

permission


ユーザーが定義するパーミッション。

uses-permission


アプリケーションの動作に必要なパーミッションの要求。
標準で定義されているパーミッション、<permission>で定義したパーミッションを含めて要求する。


UnityデフォルトのAndroidManifest.xml


[インストールパス]\Unity\Editor\Data\PlaybackEngines\androiddevelopmentplayer\AndroidManifest.xml
[インストールパス]\Unity\Editor\Data\PlaybackEngines\androidplayer\AndroidManifest.xml

Menu

メインコンテンツ

プログラミング

機器

Macツール

各種情報

Wiki内検索

おまかせリンク

Androidアプリ

AdSense

技術書


管理人/副管理人のみ編集できます