AndroidManifest.xml

Cordova 6.2 以降では、AndroidManifest.xml ファイルを使用しない仕様となりました。 Cordova 6.2 以降は、 Custom Config プラグイン をご利用ください。

Android アプリの基本的な挙動を設定する場合、AndroidManifest.xml ファイルを編集します。このファイルは、Monaca プロジェクトの android フォルダー下に置かれています。

AndroidManifest.xml ( 主な要素のみ記載 )

<?xml version="1.0" encoding="utf-8"?>
<manifest>

  <uses-permission />
  <uses-sdk />
  <uses-feature />
  <supports-screens />

  <application>
    <activity>
        <intent-filter>
            <action />
            <category />
        </intent-filter>
    </activity>
  </application>

</manifest>

<manifest>

AndroidManifest.xml でルートとなる要素です。この要素内で、xlmns:android 属性と package 属性を指定します。また、この要素下に <application> などの子要素を置きます。

属性

解説

xmlns:android

文字列

Android の名前空間を宣言するための属性です。この属性値には、常に、 http://schemas.android.com/apk/res/android を設定します。

android:versionCode

文字列

内部で使用するバージョン番号です。最新バージョンを決定するときに使用されます。比較して、数が多いほうが、より新しいバージョンとなります。このバージョン番号は、ユーザー側には表示されません。

android:versionName

文字列

ユーザー側に表示するバージョン番号です。

package

文字列

Package name

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="%%%VERSION_CODE%%%"
    android:versionName="%%%VERSION_NAME%%%" package="%%%PACKAGE_NAME%%%">
</manifest>

<uses-sdk>

アプリで使用する API のレベルを設定します。 <manifest> タグ下に、この要素を記述します。

属性

解説

android:minSdkVersion

数値

アプリの実行に必要な、最低レベルの API です。Android では、この値を確認して、端末にアプリをインストールできる否かを決定します。

android:targetSdkVersion

数値

要求する API レベルを指定します。

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />

<uses-permission>

パーミッション ( 権限 ) の設定です。アプリのインストール時に、パーミッションも有効になります。<manifest> 下に、この要素を記述します。

属性

解説

android:name

文字列

Android 側のリソースを使うためのパーミッションです。アプリが使用するリソース ( Camera、Network など ) を指定します。

<uses-permission>の定義方法

<components/loader.js> を読み込む場合には、 ACCESS_NETWORK_STATE パーミッションが必要となります。 このファイルをアプリ側で必要としない場合には、 <uses-permission> の対象から外せます。

<uses-permission android:name="%%%PERMISSION_NAME%%%"></uses-permission>

Permission  

PERMISSION_NAME

解説

Access Coarse Location

android.permission.ACCESS_COARSE_LOCATION

位置情報の取得を許可

Access Fine Location

android.permission.ACCESS_FINE_LOCATION

位置情報関連のサービスの使用を許可

Access Network State

android.permission.ACCESS_NETWORK_STATE

ネットワーク状態の取得を許可

Access Location Extra Commands

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS

位置情報プロバイダーが提供するコマンドへのアクセスを許可

Bluetooth

android.permission.BLUETOOTH

ペアリング済みの BlueTooth 機器への接続を許可

Bluetooth (Admin)

android.permission.BLUETOOTH_ADMIN

BlueTooth 機器の検知とペアリング ( 接続 ) を許可

Camera

android.permission.CAMERA

カメラ機能の使用を許可

Flashlight

android.permission.FLASHLIGHT

フラッシュライトへのアクセスを許可

Internet

android.permission.INTERNET

インターネット接続を許可

Modify Audio Setting

android.permission.MODIFY_AUDIO_SETTINGS

オーディオ設定の変更を許可

Read Phone State

android.permission.READ_PHONE_STATE

電話関連の情報へのアクセスを許可 ( 読み取り専用 )

Receive SMS

android.permission.RECEIVE_SMS

SMS メッセージの受信を許可

Record Audio

android.permission.RECORD_AUDIO

録音を許可

Read Contacts

android.permission.READ_CONTACTS

連絡先の読み込みを許可

Vibrate

android.permission.VIBRATE

バイブレーション機能の使用を許可

Write Contacts

android.permission.WRITE_CONTACTS

連絡先へのアクセスを許可 ( 書き込み )

Write External Storage

android.permission.WRITE_EXTERNAL_STORAGE

外部ストレージへのアクセスを許可 ( 書き込み )

カメラのパーミッション

<uses-permission android:name="android.permission.CAMERA"></uses-permission>

<uses-feature>

アプリ側で使用する、ハードウェアまたはソフトウェアを宣言します。たとえば、アプリ側でカメラを使用する場合、カメラが搭載されていない端末では、アプリは動作しません。<manifest> 下に、この要素を記述します。

属性

解説

android:name

文字列

アプリ側で使用する機能の名前です。

android:required

真偽値

真偽値を使用して、android:name に指定した機能を、アプリ側で使用するか否か指定します。true に設定した場合、該当機能がないときには、アプリは動作しません。false に設定した場合には、該当機能がないときでも動作します。

アプリ側でカメラを使用する場合のコードを、次に記します。

<uses-feature android:name="android.hardware.camera" android:required="true" />

<application>

application タグです。 <manifest> タグ下に、この要素を記述します。

<application android:icon="@drawable/icon"
             android:label="%%%APPLICATION_NAME%%%"
             android:name="mobi.monaca.framework.MonacaApplication">
</application>

属性

解説

android:name

文字列

アプリ名です。完全修飾名 ( Fully Qualified Class Name / FQCN ) を指定します ( クラスは、Application クラスを継承していること ) 。

android:icon

文字列

アプリで使用するアイコンです。アプリの各コンポーネント用のデフォルトのアイコンにもなります。

android:label

文字列

アプリで使用するラベルです。

android:theme

文字列

アプリで使用するテーマです。

android:screenOrientation

文字列

画面のオリエンテーションをアプリ毎に指定します。

<intent-filter>

インテントフィルターの処理を定義します。 <activity> 下に、この要素を記述します。子要素 <action> は、必ず定義します。

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<action>

インテントフィルターのアクションを指定します。 <intent-filter> 下に、この要素を記述します。

属性

解説

android:name

文字列

アクション名です

<category>

インテントフィルターのカテゴリー名です。 <intent-filter> 下に、この要素を記述します。

属性

解説

android:name

文字列

カテゴリー名です。

最終更新