レガシーアプリケーション対策について

もしあなたがAndroid1.5以前向けのアプリを開発して公開している場合、どの様に適合させるか検討する必要があります。何故なら、そのアプリはandroid1.5以前の端末にも、様々なサイズ、解像度のスクリーンに対応した新しい端末達にもインストールできるからです。

新しい端末および様々なスクリーンをサポートする為には、アプリにいくつかの改修が必要ですが、安定したアプリへの改修は極力少なくしたいでしょう。様々なスクリーンを持つ新しいデバイスと、既存の端末に対応させる為に、あなたのアプリを拡張する方法はいくつもあります。あなたのアプリケーションにこれらの変更を実施し、全ての端末に一つの.apkで対応する事が可能なはずです。

推奨される対策は、最新のプラットフォーム向けに開発を行い、最古のプラットフォームで試験を行う事です。いかが実施方法です。

1.互換性を維持する為にandroid:minSdkVersion属性はそのままにしておきます。新しい端末や、様々なスクリーンに対応する為に、この値を増加させる必要はありません。
2.uses-sdk要素に、android:targetSdkVersionと言う新しい属性を追加する事で互換性を拡張します。この属性に"4"を設定します。これにより、技術的には旧バージョンのAPIを使いながらも、新プラットフォームのマルチスクリーンサポートを継承できます。
3.空の<supports-screens>要素を<manifest>の子要素として追加します。もしサイズや密度の属性を有効にする必要があるなら、ここにそれらを追加します。
4.android1.5以前向けから、android1.6以上向けにビルドプロパティーを変更して下さい。新しいマニフェスト属性のせいで、古いプラットフォーム向けにはアプリケーションのコンパイルが出来なくなります。
5.AVDをandroid1.6以上でテストできるようにセットアップします。あなたがサポートしたスクリーンサイズ、密度のAVDを作成します。AVDを作成したら、実行するシステムイメージとしてandroid1.6以上のプラットフォームを選択する様にしてください。更に詳しくはHow to Test Your Application on Multiple Screensを参照してください。
6.AVDをandroid1.5向けにテスト出来る様にセットアップします。AVDをあなたがターゲットとしたい古いプラットフォームを稼働させる事で、互換性の試験及び、機能先祖がえりが無い事の確認が可能です。
7.アプリケーションをandroid1.6向けにコンパイルし、作成したAVD上で起動します。あなたのアプリケーションの挙動と見た目を観察し、全てのユーザー操作を検証します。
8.全ての表示や機能の問題をデバッグします。アプリのコード内で解決する問題について、<strong>API Level4以上で導入されたAPIを使わない事</strong>。
9.リソース関連の問題については、以下の様な解決方法があります。
 ・<supports-screens>にanyDensity="false"をセットし、密度互換スケーリングを有効にします。
 ・必要とする全てのサイズ、密度指定リソースを作成し、適切な識別子でタグ付けされたディレクトリに配置します。
 ・このドキュメントにリストアップされた何れかのリソース識別子によってタグ付けされたサイズ、密度指定リソースディレクトリを追加する場合、それらのディレクトリーにv<api-level>識別子(例えば、-v4)を付ける事を忘れないでください。これにより、それらのリソースがandroid1.5以前のプラットフォームで実行された時に無視されるようになります。

10.もし、largeスクリーンをサポートせず、スクリーン互換モードで表示させたい場合、largeScreen="false"属性をマニフェストの<supports-screens>要素に追加します。
11.もし、smallスクリーンをサポートせず、AndroidMarketにてsmallスクリーン端末にアプリを提供したくない場合、smallScreen="false"属性をマニフェストの<supports-screens>要素に追加します。
12.サポートしたい全てのスクリーンサイズとプラットフォームで想定通り稼働するまでテストとデバッグを繰り返します。
13.Export、zipalign、そして以前のバージョンと同じキーで署名し、アップデートしてユーザに公開します。

特に、アプリケーションをsmall-screenデバイスのAVDでテストする事を忘れないでください。QVGA・low密度のスクリーンを持つ端末が出てきています。これらの端末のユーザはあなたのアプリケーションをダウンロードしたいかもしれませんので、あなたはアプリがsmallスクリーン端末でどんな見え方で機能するのか理解しておく必要があります。多くの場合、それらの端末向けにはスクリーンエリアと密度の減少により、デザイン、コンテンツ、機能において妥協が必要になります。

androidドキュメント和約「様々なスクリーンのサポートについて」その1
androidドキュメント和約「様々なスクリーンのサポートについて」その2
androidドキュメント和約「様々なスクリーンのサポートについて」その3
androidドキュメント和約「様々なスクリーンのサポートについて」その4
androidドキュメント和約「様々なスクリーンのサポートについて」その5
androidドキュメント和約「様々なスクリーンのサポートについて」その6
androidドキュメント和約「様々なスクリーンのサポートについて」その7
androidドキュメント和約「様々なスクリーンのサポートについて」その8

 

One Response to androidドキュメント和約「様々なスクリーンのサポートについて」その6

  1. […] androidドキュメント和約「様々なスクリーンのサポートについて」その6 […]

コメントを残す

メールアドレスが公開されることはありません。