2016-11-19 7 views
0

は、私が最近compileSdkVersion = 23、targetSdkVersion = 23、およびminSdkVersionがして、Gradleのを利用し、Playストアにシンプルなアラームアプリを発表= 15公開されたAndroidアプリが新しいアップデートで動作するようにするにはどうすればよいですか?

私は、ユーザーがAndroidのにアップグレードする場合でも、Androidの設計原則に基づいて考えていました7.0私のアプリは、私の更新なしで正常に動作しますが、そうではありません。代わりに、アラームがオフになるはずの場合は、アプリがクラッシュします。私は7.0の新しい行動の変化を見ることを含めて問題を研究しようとしましたが、問題を引き起こすことになる具体的なものは何も見つかりませんでした。 私が見た唯一の潜在的な解決策は、最新の(これは24となる)にcompileSdkVersionを変更することでしたが、それがそれであるはずはありません。

このアプリは、クライアントが特定の変更をリクエストしたか、ポップアップしたバグがない限り、理想的には更新したくないほどシンプルです。だから私の質問です:私はリリースされたすべての新しいバージョンのAndroid用の更新をリリースする必要はありませんなど、私のアプリの転送互換性を確保する方法はこれも可能ですか? Ice Cream Sandwich to Marshmallowを使用している携帯電話では正常に動作しますが、携帯電話をNougatにアップグレードすると機能しなくなりました。ありがたいことに、ダウンロードベースは十分に小さいので、現在Nougatにいる唯一のユーザーですが、他のユーザーが問題を起こす前に問題を修正したいと思います。

必要に応じてコードや詳細を共有してもうれしいですが、私はただ単に何かを見逃してしまったことを願っています。

ありがとうございます!

答えて

2

私が見た唯一の潜在的な解決策は、あなたがまた、新しいデバイス(上の別の何かをするJavaコードを変更しない限り、実行時の動作に影響を与えないこと、最新の

にcompileSdkVersionを変更しましたたとえば、いくつかのAPIレベル24のクラスとメソッドの使用を開始するなど)。私は

をリリースされたアンドロイドのすべての新しいバージョンのアップデートをリリースしていないように私のアプリの前方互換性を確保するか「を確認しますが、」重要なのいずれかのアプリのために不可能であるか

サイズ。変数が多すぎます。

通常はです。転送互換性は「うまく動作します」。新しいバージョンのAndroidの多くの動作変更は、targetSdkVersionを起動したときにのみ有効です。たとえば、はmy bookにあります。以前は動作していたAndroidの新しいバージョンでは、アプリが完全にクラッシュすることはほとんどありません。これらのサンプルアプリはそれぞれかなり些細なものですが、Android SDKをかなり使い果たしています。

私が問題に遭遇した場所は、問題を解決するための適切なアプローチであると思ったものが間違っていることが判明したためです。しかし、古いバージョンのAndroidでは、クラッシュしないように間違っていました。問題を解決するためにアプリを修正すると、通常、Androidの古いバージョンと新しいバージョンの問題が解決されます。

しかし、Androidにはバグがあります。回帰—ここでXは動作するために使用され、動作するはずですが、現在は動作しません—は実質的なAndroidのすべてのリリースに付属しています。私がそれらについて知るとき、私は彼らについてブログをしています。そして、これらのケースでは、回帰があなたに影響を及ぼす場合、償還はほとんどありませんが、コードを変更することはありません。

+0

申し訳ありませんが、これに戻るには時間がかかりました。問題は、Android 7.0でParcelableオブジェクトがどのように処理されているかで、DBオブジェクトに基づいてより耐久性があるように修正されていることが判明しました。他の質問のあなたの記事は私がこれをするのを助けました! –

関連する問題