Spotify、アプリ開発者によるアプリのサイズ分析を支援する Ruler ツールをオープンソース化

Spotify は、アプリ開発者がアプリのサイズを分析できるようにする Ruler ツールをオープンソース化しました。 これは、大規模な依存関係を特定する簡単な方法です。

Google Play ストアにアプリをインストールする場合、ユーザーは通常、より小さいアプリ サイズを好みます。 これは、ストレージ容量やダウンロード帯域幅が限られていることが原因である可能性があります。あるいは、一部のユーザーがより迅速なインストールを好むことさえあります。 それにもかかわらず、Spotify は、Android アプリを縮小する方法を見つける目的で、Android アプリのサイズを測定および分析するために使用する「Ruler」と呼ばれるツールを持っています。 同社は現在、そのツールをオープンソースにし、使用したい開発者が無料で使用できるようにしている。

Google Play ストアで公開されるアプリは、現在、通常、Android アプリ バンドルの形式でアップロードされます。 ユーザーがアプリのインストールをリクエストすると、Google Play ストアはアプリをインストールするエンドユーザー向けに最適化された APK を生成します。 Ruler はこのプロセスを模倣して、エンドユーザーが受け取るべきものに正確な APK を作成します。 次に、Ruler はファイルごとに 2 つの測定値をキャプチャします。

  1. ダウンロードサイズ: ユーザーがアプリをダウンロードしたときにネットワーク上で転送されたバイト数
  2. 取り付けサイズ: アプリのインストール後にファイルがデバイス上で占有するバイト数

その後、ルーラーはアプリをスキャンして、内部のファイルのリストとそのサイズを見つけることができます。 また、アプリのサイズに影響を与えるすべての Gradle モジュールと依存関係を見つけることもできます。 これにより、すべてのコンポーネントとその内容を含む 2 番目のリストが作成されます。 両方のリストを組み合わせると、アプリのすべてのファイルをソースごとにグループ化し、各モジュールと依存関係がアプリ全体のサイズにどの程度寄与しているかを判断することができます。 他にも関連する方法があるので、同社の方法をチェックしてみる価値があります。 エンジニアリングのブログ投稿 詳しく知ることができ。

Spotify によると、メインの Spotify アプリには 1,000 を超える Gradle モジュールと数百のサードパーティ依存関係があり、Ruler のおかげで過去 6 か月でアプリのサイズが 9% 強削減されました。 同社は、最新のメインビルドを使用して、アプリのサイズデータを 1 日に 1 回エクスポートしていると述べています。 このデータを使用して、アプリ全体と個々のモジュールおよびサードパーティの依存関係の両方の履歴傾向を追跡できます。 すべてのプル リクエストのアプリ サイズへの影響も分析されるため、開発者に早期のフィードバックを提供できます。

Ruler は完全に Kotlin で記述されており、これを使用するには、プラグインを Android プロジェクトに適用し、単一の Gradle タスクを実行するだけで済みます。 ルーラーズをチェックできます GitHub それをプロジェクトに統合する方法を学びます。