質問

アプリをマーケットにリリースしたいと考えています。たとえば Bluetooth など、2.0 リリースの新しい機能は何も使用されておらず、バージョン 1.6 から 2.1 を使用するすべてのエミュレータで正常に動作します。

私の質問は、SDK のバージョンに応じて、1.6、2.0、または 2.1 を実行しているすべてのデバイスと互換性を持たせるためにアプリケーションを配布する必要があるかということです。

テストするために 1.6 を実行している物理デバイスしか持っていませんが、前述のとおり、特別なことは何も使用しておらず、API レベル 4、5、6、または 7 を使用するエミュレータでうまく動作します。

ありがとう

役に立ちましたか?

解決

ここでの答えは適切ですが、さらにいくつかの提案があります。

  • 設定しないでください android:maxSdkVersion それが必要であると確信している場合を除きます。
  • セット android:minSdkVersion3 したがって、Cupcake デバイスでも実行できます。
  • セット android:targetSdkVersion4 アプリが Donut でテストされたことを示します。

これで、アプリはすべての >= Cupcake デバイスで正常に動作するはずです。高密度画面 (Droid、Nexus One) に高密度リソースを提供する計画がある場合は、もう少し作業が必要です。これについては別のスレッドを開始した方がよいでしょうが、簡単に言うと、高密度リソースをdrawable-hdpi-v4というフォルダーに置くことになります。

ぜひチェックしてみてください SDKの使用 博士。

他のヒント

私は1.5でテストし、アンドロイドを入れたい:minSdkVersionが= "3" これに基づきデバイス1.5の多くのが残っています http://developer.android.com/resources/dashboard/platform-versions。 HTML

あなたのアプリは空想何もしていない場合は、/変更/廃止されました何を使用していないこれらのバージョン間で追加され、それぞれのエミュレータ上で動作し、その後、あなたは問題ないはずです。

ただ、android:maxSdkVersion="7"を使用して、上限として2.1にそれを制限する - あなたはいつものように更新したときに次のSDKが出てくることができます。

私は、SDKの以前のバージョンで書かれたものは、最新バージョンと完全に互換性があることを信じています。

私は私が私のIDEを設定されたとき、私はSDKのドキュメントでこれを読んで確信してます。

私は正しいんだ場合は、

そして、あなたはそれに拡大することを決定した場合、このオプションは常に存在しますが、追加された機能を利用するために、あなたのアプリケーションを更新する必要は本当にありません。

私の意見では、ベスト プラクティスは、Android 1.6 SDK でコンパイルし、マニフェストで minSdkVersion を 3 に設定することです。

私はこれを、Dianne Hackborn (受け入れられた回答にコメントしたhackbodという名前のユーザー) の推奨に基づいて述べています。 このスレッド, 、彼女は Android ソース自体に取り組んでいる Google の従業員です。

基本的に、Android 1.5 SDK デバイスは非常に多く存在するため、Android 1.5 SDK でコンパイルすると、1.5 SDK、1.6 SDK、2.0 SDK、または 2.1 SDK を備えたより多くのデバイスがサポートされますが、1.6 SDK を必要とするデバイスもあります。 HTC Tattoo と同じなので、アプリを 1.6 SDK でコンパイルしますが、minSdkVersion を 3 に設定すると、ほとんどのデバイスでアプリを使用できるようになります。

受け入れられた回答のとおりにして、最新の2.1 SDKでコンパイルすると、大量のユーザーを逃すことになります。2.1 SDK でコンパイルされたアプリケーションは、2.1 SDK 以降を搭載したデバイスでのみ使用できるため、基本的に、現時点ではユーザーを Google Nexus One を所有しているユーザーに限定することになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top