オンラインでAndroid APKファイルからアイコンを抽出する方法
インスピレーションを求めて探しているデザイナー、サムネイルをまとめているレビュアー、競合他社のアセットをチェックしている開発者など、APKファイルからアイコンを抽出する の必要性は予想以上に頻繁に現れます。問題は、res/mipmap のような内部フォルダーを手動で調べるのは時間がかかり、面倒なプロセスであることです。
このウォークスルーでは、APK から高解像度のアプリアイコンを取得する への最も簡単な方法、そもそも Android がアイコン リソースを保存する方法、および APKアイコン抽出ツール が面倒な部分を数秒で処理する方法について説明します。
重要なポイント
- APK ファイルには複数の解像度でアイコンが保存されます はさまざまな画面サイズをサポートします。
- アダプティブアイコン (Android 8.0 で導入) は、前景レイヤーと背景レイヤーで構成されます。
- オンライン抽出ツールは手動の方法よりも高速で、APK 解凍を必要としません。
- システムアプリや保護されたファイルなど、任意の APK からアイコンを抽出できます。
APK アイコンを抽出する理由
アプリのアイコンは、アプリケーションの ID を表します。スタンドアロンの PNG または SVG ファイルとして抽出する理由はいくつかあります。
- UI/UXデザイン: アイコンのスタイル、色、影の効果を分析します。
- コンテンツの作成: YouTube のサムネイルまたはブログ投稿ヘッダーに高品質のロゴを使用します。
- デバイスのカスタマイズ: オリジナルのデザインに基づいて独自のカスタム アイコン パックを作成します。
- アプリの検証: 抽出したアイコンを公式のものと比較して、正当性を確認します。
Android アイコン リソースを理解する
APK 内では、アイコンは android:icon 属性の下の AndroidManifest.xml で定義されます。最新のアプリでは、いくつかの種類のアイコン形式が使用されます。
- ミップマップ: mipmap-xxxhdpi、mipmap-xxhdpi などの名前のフォルダーに保存されているラスター イメージ (PNG、WebP)。
- ベクター ドローアブル: 品質を損なうことなく無限に拡張できる XML ベースのベクトル。
- アダプティブアイコン: これらは個別の背景レイヤーと前景レイヤーを使用し、Android がアイコンにさまざまなマスク (円、四角、角) を適用できるようにします。
オンラインでアイコンを抽出する方法 (標準的な方法)
当社の オンライン APK アイコン抽出ツール は、これらすべての複雑さを自動的に処理するように構築されています。プロセスは次のとおりです。
段階的な抽出:
- アイコン抽出ツール に移動します。
- .apk または .xapk ファイルをアップロードします。
- このツールは、AndroidManifest.xml を即座に解析して、アイコンのリソース パスを見つけます。
- res/ ディレクトリをスキャンして、利用可能な最高の解像度 (通常は xxxhdpi) を探します。
- アイコンのプレビューが画面に表示されます。
- ダウンロードアイコン をクリックして、高品質の PNG として保存します。
高解像度を保証
当社の抽出ツールは常に XXXL (192x192) または元のベクター アセットを優先し、デザインのニーズに合わせて可能な限り鮮明なロゴを確実に取得します。
手動方法(ZIPオープナーを使用)
インターネットにアクセスできない場合は、アイコンを手動で抽出できますが、手順はより複雑になります。
- app.apk の名前を app.zip に変更します。
- ZIP ファイルを開きます。
- /res/ に移動します。
- mipmap- で始まるフォルダーを探します。
- これらのフォルダーで、ic_launcher.png という名前のイメージ ファイルを検索します。
- 最大のフォルダー (xxxhdpi など) からファイルをコピーします。
警告: この方法は、アダプティブ アイコンや特殊な命名規則を使用するアプリでは失敗することがよくあります。
アダプティブ アイコン: 2 つのレイヤーが表示される理由
Android 8 (Oreo) 以降、プラットフォームは アダプティブアイコン を使用しています。これは、OS がアイコンをクリップしてさまざまな形状 (Pixel では円、Samsung One UI ではスクワクル、ストック ランチャーでは丸い正方形、一部の OEM スキンではティアドロップ) にアニメーション化できる 2 層システムです。アダプティブ アイコンを抽出すると、1 つではなく 2 つの PNG (または 2 つのベクター ドローアブル) が取得されます。
- 前景レイヤー: 実際のロゴまたはシンボル。常に上に描画され、安全ゾーン (108 × 108 dp キャンバスの中心にある 66 dp の円) 内に留まらなければなりません。
- 背景レイヤー: 単色、グラデーション、または単純なパターン。ランチャーはこれを使用して、クリッピング後に前景の外側の領域を塗りつぶします。
- オプションのモノクロレイヤー: Android 13 テーマのアイコンが導入されました。これには、ランチャーがユーザーの壁紙から派生したテーマ パレットに合わせて色合いを変える単色のシルエットが含まれています。
前景 PNG のみをエクスポートすると、背景がないか、背景が透明な画像が作成されます。これは、デザイン モックアップのアセットには問題ありませんが、ランチャー対応のアイコンが必要な場合は間違っています。常に両方のレイヤーをエクスポートするか、アダプティブ アイコンが検出されたときに自動的にレイヤーを合成する APKアイコン抽出ツール を使用してください。
密度フォルダーのチートシート
APK 内では、同じアイコンがピクセル密度バケットごとに 1 つずつ、5 つ以上のサイズで存在する場合があります。ランチャーは、デバイスの密度に最も近いバケットを選択します。最高品質のバージョンを抽出する場合は、xxxhdpi に直接進みます。
| 密度バケット | フォルダ名 | ランチャーアイコンのサイズ | アダプティブキャンバスサイズ |
|---|---|---|---|
| LDPI | ミップマップ-LDPI | 36 × 36 | 該当なし |
| mdpi (ベースライン) | ミップマップ-MDPI | 48 × 48 | 108 × 108 |
| hdpi | ミップマップ-HDPI | 72 × 72 | 162 × 162 |
| xhdpi | ミップマップ-xhdpi | 96 × 96 | 216 × 216 |
| xxhdpi | ミップマップ-xxhdpi | 144 × 144 | 324 × 324 |
| xxxhdpi | ミップマップ-xxxhdpi | 192 × 192 | 432 × 432 |
| anydpi-v26 | ミップマップ-anydpi-v26 | ビットマップではなく、XML アダプティブ アイコン定義 | |
まれな anydpi-v26 フォルダーは特別です。このフォルダーには、別の場所に保存されている前景および背景のドローアブルを 参照 する XML ファイルが含まれています。ミップマップ フォルダーを開いたときに XML のみが表示される場合、実際のグラフィックスは res/drawable-* にあるか、ベクター XML として res/drawable/ にあります。ブラウザ ツールはこれらの参照を自動的にたどります。
ベクターとラスター: どちらをエクスポートする必要がありますか?
最新の Android アプリでは、アイコンや小さな UI グラフィックスに ベクトルドローアブル (SVG のサブセットを使用する XML ファイル) が好まれます。拡張は無限で、重さはほとんどなく、1 つのファイルであらゆる密度をカバーします。古いアプリでは、依然としてあらゆる密度のラスター PNG が提供されています。抽出すると、次のいずれかの形式が表示される場合があります。
- ベクトル XML (ファイル拡張子 .xml、ルートタグ <vector>、1 行の属性交換で SVG に変換可能、またはツールで指定したサイズにラスタライズされます)。
- WebP (コンパクト非可逆/可逆): 最新のアプリでは、各密度の WebP でアイコンが提供される場合があります。当社のエクストラクターは WebP をデコードし、より広範な互換性が必要な場合は PNG として再エクスポートできます。
- PNG: ユニバーサル形式。見たものはそのまま得られます。
設計作業では、ベクトル ソースが存在する場合は常にそれを優先します。従来の互換性 (古いツール、マーケティング資料) のために、見つけられる限り最高密度の PNG をエクスポートしてください。
アイコンを抽出する際のよくある落とし穴
- res/mipmap と res/drawable を混同します。 mipmap はランチャー アイコンを保持します。 drawable はアプリ内画像を保持します。どちらにもアイコンのようなアセットを含めることができますが、マニフェスト内の android:icon によって参照されるのはミップマップ エントリのみです。
- 間違った濃度を選択します。 4K ディスプレイ用にデザインしている場合、48 × 48 mdpi バージョンはピクセル化して見えます。常に xxxhdpi またはベクトル ソースから開始します。
- ラウンドのバリエーションを忘れています。 多くのアプリは、微妙に異なるトリミングを使用して、ic_launcher と ic_launcher_round の両方を宣言します。一部のランチャーは常に丸いものを選択します。両方を抽出します。
- 商標無視。 上記の法的注記が適用されます。 個人的な参照やアクセシビリティ向上のためにアイコンを抽出することは問題ありませんが、商用のロゴを自身の製品のアイコンとして使用することは認められません。
よくある質問 (FAQ)
アプリのアイコンを抽出することは合法ですか?
個人使用、レビュー、または教育目的でアイコンを抽出することは、通常は許容されます。ただし、所有者の許可なく再配布したり、商用製品に使用したりすると、著作権法および商標法に違反する可能性があります。
Android アプリのアイコンの標準サイズはどれくらいですか?
ストアの掲載情報の場合、アイコンは 512x512 である必要があります。 APK 内で通常見つかる最高の解像度は、ホーム画面の 192x192 (xxxhdpi) です。
システム アプリ (Google カメラなど) からアイコンを抽出できますか?
はい。 システムアプリのAPKファイルをお持ちであれば、当ツールで他の一般的なアプリと同様にアイコンを抽出できます。
毎回クリーンなランチャー アセットを取得する
APK からアイコンを取得することは、Android アプリを設計、レビュー、または構築する場合に便利なテクニックです。手動で行うこともできますが、専用の オンラインツール を使用するとより速く、当て推量なしでフル解像度のソースを取得できます。これは、必要なときにいつでも APK ツールセットの無料の一部として利用できます。