2017-05-14 16 views
-1

Android 2.3.6搭載のデバイスで完全に動作するアンドロイド6.0.1搭載デバイスで開発されたアプリケーションを実行すると、いくつかのエラーが発生します。私は両方のデバイスのために(Android API 10のためにコンパイルされた)同じビルドされたアプリケーションを使用しています。Androidの機能的後方互換性

エラーは、新しいアクティビティが開始され、連絡先が選択されたときに閉じられているアプリケーションに関するものですが、そのデバイスの問題をどのように解決できるか知っていますが、機能的に下位互換性があるという問題はありません(多分グラフィカルな問題がありますが、アプリケーションがクラッシュするようなことはありません)。

これは私に起こった例外的な出来事であるかどうかを知りたいのですが、最も可能性の高いことは、いくつかのアンドロイドバージョンでこれらのエラーを確認してから、これらのエラーのような何かが再び起こることはありませんか、またはそのようなイベントが比較的一般的な場合は、そうだとすれば、チェックする必要があり、バージョンの多くに応じて開発するのはかなり苦しいと思うので、アプリケーションを正しく持つことの100%のセキュリティを提供していないとしても、簡単なショートカットがあるかどうかを知りたい機能的に開発されているので、セキュリティのパーセンテージが優れています。

+0

アプリがmarshmallowより前のバージョンをターゲットにしているため、実行時にアクセス許可をチェックしません。あなたのアプリには、ユーザーが明示的に許可する必要のあるアクセス権が必要なのかもしれません。 – nandsito

+0

@nandsitoコメントありがとうございます。問題はありませんでした。とにかく、問題の目的は、Androidのさまざまなバージョンでアプリを実行しているときに、そのタイプのエラーがよくあるかどうかを知ることです。そうであれば、適切に扱う方法を教えてください。どんなタイプのエラーを私が参照しているかをより明確にする。 – user2638180

+1

後方互換性は理論的に望ましいソフトウェアプロパティであり、もちろんAndroidでもあります。しかし、Androidの歴史によれば、GingerbreadやIce Cream Sandwichなどの古典的なバージョンからNougat/OまでAPIがどのように変化したかを見ると、それほど滑らかではありません。一部のAPIは他のAPIよりも安定しているため、APIバージョンの問題が発生する可能性は、使用するAPIによって異なります。しかし、一般的な意味では、Android APIはかなりのペースで変化します。私はアプリがアップデートなしで2〜3年間適切に行動するとは期待しない – nandsito

答えて

1

私は一般的にアプリが順方向互換性があると思うが、の非公開または文書化されていない apiを使用しないことを確認した場合に限ります。

たとえば、最初にAndroidで再生を開始したときに、Googleのドキュメントで一切言及されていないテキストメッセージを送受信する方法に関する情報がウェブ上に多数ありました。その情報(未記載のAPI)を使用すると、KitKatが出てきたときに私のアプリが壊れてしまい、その特定の目的のAPIを正式に文書化しました。 detailsについてはこちらをご覧ください。上の例の。ここで

は、互換性に関するいくつかの情報へのリンクです: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html

そしてスニップ、それ関連セクションの

アプリケーションの上位互換性Androidアプリケーションは、一般の新しいバージョンで前方互換 されていますAndroidプラットフォーム

フレームワークAPIとほぼすべての変更が添加され、 Androidアプリケーションは、APIの任意のバージョンを使用して開発されたので( は、そのAPIレベルで指定された)Androidプラットフォームの新しいバージョン と上位互換性と高いですAPIレベル。アプリケーションは 以降のバージョンのAndroidプラットフォームで実行する必要があります。ただし、 というAPIの一部が後で何らかの理由で削除されたアプリケーションを使用する独立したケースでは、 が例外です。

多くのAndroid搭載の デバイスは、無線(OTA)システムアップデートを受信するため、転送の互換性は重要です。ユーザーは アプリケーションをインストールして正常に使用した後、 Androidプラットフォームの新しいバージョンにOTAアップデートを受け取ることがあります。 アップデートがインストールされると、アプリケーションは新しい実行時の バージョンの環境で実行されますが、アプリケーションに依存するAPIおよびシステム の機能を持つアプリケーションが実行されます。

システム自体のようなAPIの下の変更が、新しい 環境で実行されている場合、アプリケーションに影響することがあります。そのため、アプリケーション開発者の は、アプリケーションがどのように見えるかを理解し、各システム環境で が動作することが重要です。 Androidプラットフォームのさまざまなバージョンでアプリケーション をテストするのに役立つように、Android SDKには 複数のプラットフォームをダウンロードできます。各プラットフォームには、 互換システムイメージが含まれており、AVDで実行して アプリケーションをテストできます。

関連する問題