マニフェストの設定(AndroidManifest.xml)

TOP > Androidアプリ開発日誌 >  マニフェストの設定(AndroidManifest.xml)
このエントリーをはてなブックマークに追加

マニフェストとは?

マニフェストを選択 マニフェストファイルはプロジェクト作成時に自動で作成される AndroidManifest.xml の事です。 アプリケーションのバージョン情報やセキュリティの設定などを行います。
マニフェスト(AndroidManifest.xml) マニフェストファイルの中身(XML) マニフェストファイルの中身
WEBページを表示させたい <uses-permission android:name="android.permission.INTERNET"></uses-permission> ファイルの保存 をしたい などを設定しなければいけません。

マニフェストファイルの中身

AndroidManifest.xml のサンプル

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/2.5">
<id>パッケージ名:ユニークなもの</id>
<supportedProfiles>「mobileDevice」固定で編集NG</supportedProfiles>
<versionNumber>バージョン番号</versionNumber>
<versionLabel>バージョンラベル:空白でもおk</versionLabel>
<filename>ファイル名?</filename>
<description>アプリの説明</description>
<name>アプリの名前</name>
<copyright>著作権情報</copyright>
<initialWindow>
  <content>swfファイルまでのパス</content>
  <systemChrome>????????</systemChrome>
  <transparent>透過するかどうかBoolean</transparent>
  <visible>????????</visible>
  <fullScreen>フルスクリーン表示にするかどうか?</fullScreen>
  <aspectRatio>画面の向き:縦or横</aspectRatio>
  <renderMode>CPUとGPUどちらで計算しますか?</renderMode>
  <autoOrients>画面の向きを自動で検知する?</autoOrients>
</initialWindow>
<icon>
  <image36x36>縦横36pxのアイコンファイルまでのパス</image36x36>
  <image48x48>縦横48pxのアイコンファイルまでのパス</image48x48>
  <image72x72>縦横72pxのアイコンファイルまでのパス</image72x72>
</icon>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<android>
  <manifestAdditions>
    <![CDATA[
      <manifest>
		<!-- パーミッション情報-->
		<uses-permission android:name="android.permission.INTERNET"/>
		<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
		<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
		<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
		<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
		<uses-permission android:name="android.permission.CAMERA"/>
		<uses-permission android:name="android.permission.RECORD_AUDIO"/>
		<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
		<uses-permission android:name="android.permission.WAKE_LOCK"/>
		<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
		<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
      </manifest>
    ]]>
  </manifestAdditions>
</android>
</application>
  • ①manifest エレメント:最上位のエレメント:<manifest>から</ manifest>までをいう。ここではアプリケーションの基本的な情報として、③~⑥を記録している。
  • ③xmlns:android :アプリケーションのnameスペース。
  • ④package :ここで" kr.co.wikibook.hello.world " をアプリケーションの基本パッケージ として指定している。そうする事により、kr.co.wikibook.hello.world.HelloWorldActivity という記述を、.HelloWorldActivity のような簡略した記述で利用できる。実際に⑧の下のActivityエレメントで .HelloWorldActivity が利用されている。
  • ⑤android:versionCode :アプリケーションのバージョンを表す値。Android プラットフォームが認識する固有の値で、下画像の「アプリケーション情報」に "バージョン1.0" として表示。 既に公開したアプリケーションのアップグレード版をつくる場合、このバージョン番号を高く設定し、プロジェクトを「ビルド」すればいい。そうすることによって、Androidマーケットなどでバージョンを参照でき、アプリケーションユーザーに伝達できる。
  • ⑥android:versionName :上のandroid.versionCode のように、プラットフォームでに参照するものでなく、ユーザーにバージョン情報を出力する為の値。
  • ⑦uses-sdkエレメント: ここは、最初にHello World プロジェクトの生成するとき「Min SDK Version」に「8」を入力したが、その番号がここに記録される。バージョン「8」の「端末」或いは「エミュレータ」のみにインストールが可能となる。  上述したマニフェスト上位エレメントではアプリケーションの簡単な基本情報を記録したのに対し、その下位エレメントでは⑦~⑪のように、機能や、アクセス許可、連動に対する細部情報などが記録されている。
  • ②application エレメント:manifestエレメントの下位エレメントに位置する。
  • ⑧android:icon :ここには、アプリケーションの「アイコン」が指定されている。この指定よって下画像メインメニューに アプリケーション の「アイコン」が表示される。
  • ⑨applicationエレメントのandroid:label :ここには、アプリケーション・タイトルが記録される所で、上画像の「アイコン」下の「Hello World」がそれだ。
  • ⑩activityエレメントのandroid:label :上と同じ「Hello World」だが、これは「HelloWorldActivity」アプリの起動画面に表示されるアプリケーション・タイトル。
  • ⑪intent-filter :このエレメントは、Activityのインテント・フィルターを追加する場所。詳しい内容は後で説明する。