Binance APK は split bundle ですか? フォルダ内に複数の apk がある理由
一部のユーザーが特定のチャネルから Binance のインストールパッケージをダウンロードした際、1 つの .apk ファイルではなく、ZIP 圧縮パッケージになっており、解凍すると中に base.apk、split_config.arm64_v8a.apk、split_config.zh.apk など複数のファイルが含まれていることがあります。このような「複数ファイルの APK」が split bundle です。本ノートでは、この概念とインストール方法を明確に解説します。Binance 公式の universal APK を取得するには、Binance公式サイト を開くか、直接 Binance公式アプリ の入口をご利用ください。iPhone ユーザーは iOSインストールチュートリアル をご覧ください。
App Bundle と split APK の関係
Google は Android 5.0 から、エンドユーザーがダウンロードする APK のサイズを削減することを目的に、App Bundle(.aab)形式を導入しました。その仕組みは以下の通りです:
- 開発者はすべてのアーキテクチャ、すべての言語、すべての画面密度のリソースを 1 つの
.aabにパッケージ化します。 - Google Play サーバーは、ユーザーがダウンロードする際、そのデバイスの CPU アーキテクチャ、システム言語、画面解像度に基づいて、
.aabからそのデバイスに最適な APK の集合を**動的にスライス(切り出し)**します。 - ユーザーが最終的にデバイスにインストールするのは 1 つの
.apkではなく、複数の split apk の組み合わせになります。
このメカニズムにより、ユーザーのダウンロードサイズは 30〜50% 削減されますが、その代償としてダウンロードプロセスは必ず Play サーバーを経由する必要があります。
なぜ .aab や split を持っている人がいるのか
Binance 公式が中国(またはその他の Play ストアが利用できない地域)のユーザー向けにダウンロードページで直接提供しているのは universal APK(1 つのファイルにすべてのアーキテクチャが含まれる)であり、.aab は必要ありません。しかし、一部の状況下でユーザーは split を入手することがあります:
- APKMirror や APKPure などの海外 APK サイトからダウンロードする際、一部のバージョンは split bundle としてのみ提供されている。
- ADB を使用してインストール済みのデバイスから APK を抽出すると、split が得られる(Play ストアがインストールしたものが元々 split であるため)。
- 一部の「APK 抽出ツール」が Play ストアからダウンロードする際、直接 split 形式で保存する。
split APK の内部構成
典型的な split bundle を解凍すると、以下のようなファイルが含まれています:
| ファイル名 | 役割 |
|---|---|
| base.apk | メインのコードとリソース |
| split_config.arm64_v8a.apk | arm64 アーキテクチャのネイティブライブラリ |
| split_config.armeabi_v7a.apk | armv7 アーキテクチャのネイティブライブラリ |
| split_config.xxhdpi.apk | 超高密度画面用の画像 |
| split_config.zh.apk | 簡体中国語の文字列 |
| split_config.en.apk | 英語の文字列 |
それぞれのファイルは独立した APK ですが、完全に独立してインストールできるのは base.apk のみです。その他の split は必ず base と一緒にインストールする必要があります。
split bundle のインストール方法
方法1 · SAI(Split APKs Installer)を使用する Google Play で入手できる無料ツールで、split のインストール専用です:
- SAI をインストールする
- split bundle を 1 つのディレクトリに解凍する
- SAI で「Install APKs」を選択 → ディレクトリを選択
- SAI が適切な split を自動的に選択して一緒にインストールする
方法2 · APKMirror Installer を使用する APKMirror 公式のインストーラーで、ロジックは SAI と似ています。
方法3 · ADB install-multiple を使用する 開発者向けの方法:
- PC に ADB をインストールする
- スマートフォンで USB デバッグを有効にし、PC に接続する
- コマンドラインで
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.zh.apkを実行する
方法4 · bundletool で .aab から生成する
split ではなく .aab ファイルを入手した場合は、まず Google の bundletool を使用して .aab を対象デバイス用の APKs に変換する必要があります:
- bundletool(オープンソースの jar パッケージ)をダウンロードする
bundletool build-apksコマンドを実行して.apksファイルを生成する- その後、
install-apksを使用してスマートフォンにインストールする
一般ユーザーは、最初の 2 つのツールを使用すれば十分です。
どの方法が最も簡単か
| ユーザータイプ | 推奨される方法 |
|---|---|
| 一般ユーザー | Binance 公式サイトから universal APK を直接ダウンロードする |
| ストレージを節約したい | SAI で split をインストールする |
| 開発者/研究者 | bundletool + ADB |
| 既に Play ストアを使用中 | Play ストアから直接アップグレードする |
大多数の人は 1 番目の方法を選ぶだけでよく、わざわざ split をいじる必要はありません。
split は universal よりどれくらい節約できるのか
実測による比較(v2.100.5 バージョン):
| パッケージ形式 | 総サイズ | デバイスでの占有サイズ |
|---|---|---|
| universal APK | 96 MB | 240 MB |
| split for arm64 + zh | 38 MB | 130 MB |
| split for arm64 + zh + en | 42 MB | 145 MB |
split はダウンロードサイズで約 60% 節約でき、インストール後の占有スペースも 110 MB ほど少なくなります。ストレージが逼迫しているローエンド機にとっては意味があります。
split の限界
- ファイルマネージャーからダブルクリックで簡単にインストールすることはできず、専用のツールが必要。
- デバイス間の移動が面倒で、すべての split ファイルを一緒にコピーしなければならない。
- アップグレード時に、新バージョンで新しい split タイプ(新しい言語など)が追加された場合、互換性がない可能性がある。
- パケットキャプチャやデバッグ時に、複数のファイルを個別に処理する必要がある。
split の安全性の検証
split もハッシュと署名の検証を行うことができますが、以下の点に注意してください:
- 各 split ファイルごとに個別に SHA-256 を計算する必要がある。
- 各 split はすべて同じ署名を使用する(base の署名を共有する)。
- いずれか 1 つの split が欠けた状態でインストールすると、異常な動作を引き起こす。
一部の split しか入手できない場合は、そのパッケージを放棄し、完全な universal APK を探し直すことをお勧めします。
Binance 公式の split に対する姿勢
Binance 公式は、グローバル市場には .aab を提供して Play ストア経由で配信し、中国や制限された市場には universal APK を提供して自社のダウンロードページ経由で配信しています。これら 2 つの形式は互いを補完しています:
- Play ユーザー:自動的に split を受信し、詳細を気にする必要はない。
- 中国の(またはPlayストアを使わない)ユーザー:直接 universal をダウンロードし、Play 開発者サービスに依存しない。
したがって、一般のユーザーにとって、split に遭遇しないのが普通であり、遭遇した場合は非公式のチャネルからダウンロードしたということになります。公式ソースに変更することをお勧めします。
FAQ
Q:split bundle は universal APK より安全ですか? A:署名が同じであるため、安全性は同等です。違いはサイズのみです。
Q:複数の split を 1 つの APK に結合することはできますか? A:技術的には APKEditor などのツールを使って結合できますが、操作が複雑であり、直接 universal をダウンロードした方が早いです。
Q:APKMirror でダウンロードしたものが .apkm という拡張子になっているのはなぜですか?
A:.apkm は APKMirror の独自フォーマットであり、本質的には ZIP 圧縮された split bundle です。
Q:split をインストールするには root 化が必要ですか? A:必要ありません。SAI はシステムの標準である PackageInstaller を使用しています。