アンドロイド; 2.1から2.2の間の変更は、開発者が逆方向の互換性を持って認識する必要がありますか?

StackOverflow https://stackoverflow.com/questions/3890218

質問

2.2に対して標的にされたいくつかのアプリケーションを作成しました

私はこれらを試してみるために安価な携帯電話に投資することを考えています(これまでのところ使用されるエミュレータのみ)。私が欲しい携帯電話は、AndroidのVerion 2.1を実行することです。

ビューのコードポイントから、2.1と2.2の間に私に問題を引き起こす可能性がある大きな変更はありますか?

1.xハンドセット(人/契約スコンタクトなど)に展開しようとしている場合、問題があると理解していますが、2.2アプリが2.1環境で失敗すると言うものは何も見えません。

(エミュレータのターゲットを変更しようとすることができますが、実際の携帯電話で他の人から知りたいと思っています)

ありがとう

役に立ちましたか?

解決

これがあなたに役立つかもしれないページです: http://developer.android.com/sdk/api_diff/8/changes.html

違いリストに使用されるすべてのパッケージとメソッドをクロスチェックできます。

Juhaniが言ったように、アプリが新しいAPIのいずれかを使用している場合、それはあなたの問題に遭遇する可能性が高いことを意味します。

他のヒント

2.2で提供される新しいAPIが必要ない場合は、アプリを2.1にターゲットにすることができます。そうすれば、2.1と2.2で実行されることを確認できます。一方、新しいAPIの一部が必要な場合は、2.1で正しく動作しません。

ここで2.2で新しいものをseすることができます:http://developer.android.com/sdk/android-2.2.html

保証された互換性のために、ターゲットバージョンを2.1に設定し、再コンパイルして失敗したものを確認する必要があります。 2.2のみのAPIを使用している場合、これはそれが何であるかを示します。次に、本当に使用したい場合は、ターゲットバージョンを2.2にリセットし、2.1で「Method Not Found」のフォールバック動作をコーディングできます。

文書化されたAPI以外では、ほとんどの開発者にとって最大の違いは、一般的ではあるがサポートされていないインターフェイスを使用している人にとっては起こります。カレンダーを呼び出そうとしている場合、古い意図「com.android.calendar/com.android.calendar.launchactivity」が「com.google.android.calendar/comに置き換えられたため、動作が停止することがわかります。 .android.calendar.launchactivity "。 (これはストックAndroid用です。さまざまな電話/ハードウェアベンダーには、つま先を維持するためだけに他の代替アプリ/意図があります。)

もちろん、これは、文書化されていない、サポートされていないインターフェイスを使用している場合の問題です。ただし、これはおそらく「Broken by Froyo」アプリのナンバーワンのソースでした。

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