1. ホーム
  2. android

[解決済み] targetSDKをAPI 30に設定したところ、Androidアプリが正常に動作しなくなったのですが、原因を調べるにはどうしたらいいですか?

2022-02-25 15:19:46

質問事項

によると グーグル 2021年8月以降の新しいGoogle Playアプリは、Android App Bundlesとして派生することに加え、API 30をターゲットとする必要があります。さらに、2021年11月からは、アプリのアップデートも適合させる必要がある。

そこで、API29をターゲットにしていたアプリをAPI30にアップデートしたところ、一部の機能が壊れました。その原因を探るにはどうしたらよいでしょうか。アプリの 変更点一覧 Googleから与えられた、特定の非推奨APIが使用されているかどうかを確認するだけでは、明らかではありません。

理想を言えば、もしAndroid StudioがAPI 30の機能が私のアプリの動作にどのように影響するかを見る方法を提供してくれるなら、それはクールなことでしょう。

どのように解決するのですか?

Android Developer のオプションで、App Compatibility Changes というクールな機能を発見しました。Googleはこれについて、次のように説明しています。 互換性フレームワークツール このように

Android 11 では、新しいバージョンの Android プラットフォームの動作変更に対してアプリをテストおよびデバッグするための新しい開発者向けツールが導入されました。これらのツールは、アプリ開発者が開発者オプションまたは ADB を使用して、壊れやすい変更のオンとオフを個別に切り替えることができる互換性フレームワークの一部です。この柔軟性を利用して、最新の安定した API バージョンをターゲットにする準備や、次の Android バージョンのプレビューリリースでアプリをテストしてください。

携帯電話で見ると、実際に新機能/変更のオン/オフを個別に切り替えることができるようですね。

まず、デバイス上のすべてのデバッグ可能なアプリのリストが表示されます。その中から、例えばAPI 29をターゲットとするアプリを選択すると、以下の例に示すように、CALLBACK_ON_CLEAR_CHANGEでAPI 30の各機能のオン/オフを個別に切り替えることが実際にできます。

かっこいい そして、API 30 の機能をオン/オフしたい場合は、その下の API レベル、つまりこの場合は API 29 をターゲットにデバッグ可能なアプリを構築し、機能のオン/オフを切り替えてテストしてください。どの機能が問題を引き起こしているのか見当がつかない場合は、例えば30ほどの変更のうち半分を選択し、問題があるかどうかを確認し、正しいトグルにズームインすることで検索を高速化することが可能です。