« Android Developers Blog - Can I use this Intent? | メイン | Android - 加速度センサー再び »

Android SDK 1.1 リリース - APIレベルについて

Android SDK 1.1がリリースされました。Android SDK 1.1では、アプリがサポートしているAPIレベル(APIのバージョンのようなもの)を指定することが出来るようになっているようです。Android 1.1 Version Notesの、APIレベルに関係するOverviewのみ、ノリで日本語にしてみました。訳はそれほど正確ではありませんので、オリジナルの方もご覧下さい。


Android 1.1 Version Notes - Overview

 SDKに含まれるAndroid 1.1のシステムイメージは、Android 1.1のプロダクションシステムイメージと開発用途に互換を持たせたものです。Android 1.1のプロダクションシステムイメージは2009年2月からAndroid搭載端末にデプロイ可能です。
 Android 1.1のシステムイメージは、フレームワークのAPIも更新されて配布されています。Android 1.1のAPIでは、「2」のように数値で識別子をつけてシステムに記録しておくことが出来ます。このことはAndroid 1.0のAPIも同様です。この識別子は「APIレベル」と呼ばれ、システム上でアプリが正しく動作するかどうかを、そのアプリをインストールする前に正確に判断することができるようにするためのものです。
 マニフェストファイルにはAPIレベルの値を定義しておくことができます。これは、そのアプリが動作するにあたって必要となるAndroidのシステムのミニマムバージョンを示します。APIレベルを指定するには、マニフェストファイルにminSdkVersion属性を設定します。この属性には、APIレベルを特定する数値を設定します。システムはアプリをインストールする前にこのminSdkVersionの値をチェックして、システム自体に記録されているAPIレベル以下の値のもののみインストールを認めます。
 もし、Android 1.1のプラットフォームが動作しているAndroid端末と互換性を持たせたアプリを、Android1.1のシステムイメージを使って作成したら、minSdkVersionの値は「2」(Android 1.1と厳密に対応したAPIであることを示します)にする必要があることに注意して下さい。
 具体的には、マニフェストファイルの<manifest>要素の子要素として<uses-sdk>を置き、そこにminSdkVersion属性を定義します。以下のような感じです。

<manifest>
  ...
  <uses-sdk minSdkVersion="2" />
  ...
</manifest>

 このようにminSdkVersionを設定することによって、ユーザーはそのアプリをAndroid 1.1プラットフォームの端末にのみインストールできるようになります。言い換えると、1.1のAPIを使って作成されているそのアプリケーションはこれらの端末でちゃんと動作することを示しています。
 もし、アプリを1.1のAPIを使って作ったのに<uses-sdk minSdkVersion="2" />を書いていなかったら、Android 1.1の端末上ではちゃんと動くでしょうが、1.0の端末では動かないでしょう。後者の場合、実行時に1.1のAPIを使おうとした時点でアプリがクラッシュしてしまうでしょう。
 もしアプリに1.1で新しく公開されたAPIを全く使ってないのなら、minSdkVersionを設定しないようにするか、minSdkVersionに「1」を設定することで、Android 1.0に互換があることを示すことが出来ます。しかし、アプリケーションの公開前にAndroid 1.0のシステムイメージ(Android 1.0 SDKで利用できます)を対象にして、アプリケーションがちゃんとコンパイル出来るかを確認しなければなりません。このことはAndroid 1.0の端末でちゃんと動くことを保証することにつながります。アプリが互換性を持つAPIレベルと対応するシステムイメージを使ってアプリをテストする必要があります。
もし、アプリに1.1のAPIを使っておらず、使う必要がないとはっきり判っているならば、Android 1.0のSDKをそのまま使い続ける方が、1.1を使って追加でテストするよりも楽かもしれません。

トラックバック

このエントリーのトラックバックURL:
http://www.grandnature.net/bin/mt-tb.cgi/105

コメントを投稿

About

2009年02月10日 20:48に投稿されたエントリーのページです。

ひとつ前の投稿は「Android Developers Blog - Can I use this Intent?」です。

次の投稿は「Android - 加速度センサー再び」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。