中身を見たいなら一覧・解凍、アプリを使いたいならAndroidの正規インストール手順です。 KaruzipはAPKを起動せず、内部項目をローカルで確認します。書庫テストに成功しても、署名、配布元、権限、安全性は証明されません。
APKを「開く」目的を、確認・抽出・インストールに分ける
Android DevelopersはAPKをAndroid端末がアプリのインストールに使う書庫形式と説明しています。一方、WindowsでAPKのファイル名や画像を調べるだけなら、アプリとして起動する必要はありません。最初に目的を分けると、不要なインストールや誤操作を避けられます。
| 目的 | 選ぶ操作 | Karuzipの範囲 |
|---|---|---|
| ファイル名と階層を確認する | 一覧表示 | 対応 |
| 画像や設定を取り出す | 全体・選択解凍 | 対応 |
| AndroidManifest.xmlを読みやすく表示する | APK Analyzer等で復元表示 | 抽出のみ。バイナリXMLの解析表示は非対応 |
| Android端末へアプリを導入する | Package Installer、正規ストア、開発用ADB | 非対応 |
| WindowsでAndroidアプリを動かす | 対応環境・公式開発環境を確認 | 非対応 |
APKの中にあるAndroidManifest.xml、DEX、resources.arsc
Android公式のAPK Analyzerは、APKがZIP形式に従い、内部のファイルやフォルダーを階層として持つと説明しています。典型的なAPKには、アプリ情報を持つAndroidManifest.xml、実行コードのclasses.dex、コンパイル済み資源のresources.arsc、画像やXMLを含むres、任意のassetsやlibが入ります。
| 項目 | 主な役割 | 一覧・解凍時の注意 |
|---|---|---|
| AndroidManifest.xml | コンポーネント、権限、対応条件等 | APK内では通常バイナリXML。抽出だけでは読みやすいXMLにならない |
| classes.dex、classes2.dex… | Androidランタイム向けのコンパイル済みコード | 解凍してもKotlin・Javaの元ソースには戻らない |
| resources.arsc | コンパイル済みの資源表 | 文字列やIDの解釈には専用解析が必要 |
| res/ | 画像、レイアウト等の資源 | ビルド後は短い名前やバイナリXMLの場合がある |
| assets/ | アプリがそのまま読む任意ファイル | 存在しないAPKもある |
| lib/ABI/*.so | CPU別のネイティブライブラリー | x86、arm64-v8a等の違いは端末互換性に関係する |
| META-INF/ | v1署名やビルド情報等 | 項目があるだけでは署名検証にならない |
ファイル名が難読化・短縮されていても、Karuzipが名前を変えたわけではありません。今回の実測APKでも、ビルド済みのres配下は 3z.png のような短い名前になっていました。
APKを開く前に確認する6項目
- 公式ストア、開発元、社内ビルド等、APKの入手元を記録する
- 配布元がサイズやSHA-256を示している場合は先に照合する
- 元APKを上書きせず、検証後も残す
- 既存プロジェクトと混ざらない空の保存先を用意する
- 中身を見るだけなら、APKや抽出したコードを実行しない
- 署名と権限の確認が必要なら、Android公式のAPK Analyzerやapksignerを併用する
| 確認 | 確認できること | 確認できないこと |
|---|---|---|
| 配布元URLとリリース番号 | どこから取得したか | ファイルが改変されていないこと |
| 配布元SHA-256との一致 | 配布元が示した同一バイト列か | 配布元やコード自体が安全であること |
| 書庫一覧・テスト | ZIP項目を読み取れるか | 署名、権限、マルウェアの有無 |
| Android署名検証 | 署名方式と署名者情報、改変検出 | アプリの処理が安全・無欠陥であること |
KaruzipでAPKの中身を確認・解凍する4ステップ
-
1
APKを拡張子のまま開く
.apkをKaruzipへドラッグするか、「中身を見る」から選びます。.zipへ名前変更せず、元のファイル名と入手元を保ちます。
-
2
ルート項目とサイズを確認する
AndroidManifest.xml、classes.dex、resources.arsc、res、assets、lib、META-INFの有無を見ます。表示されない項目があっても、APKごとの構成差として記録します。
-
3
必要な項目だけを選ぶ
画像や設定だけが必要なら対象行をチェックし、「選択した項目を解凍」を使います。全体を調べる場合も、最初は空の隔離フォルダーへ出力します。
-
4
出力を照合し、実行せず解析方法を決める
件数、サイズ、CRCやSHA-256を照合します。バイナリManifest、DEX、resources.arscの意味を読む場合は、Android公式のAPK Analyzer等へ進みます。
実測:公開APK 120,512 bytesを34ファイルまで一覧・テスト
MITライセンスで公開されている、権限を要求しない小型Hello WorldアプリのGitHub Release v1.1.0を使いました。GitHub APIが示すサイズ120,512 bytesとSHA-256を固定し、取得後に一致を確認してから、実行せずに独立一覧と書庫テストだけを行いました。
| 確認 | 結果 | 読み方 |
|---|---|---|
| 配布物 | HelloWorldSelfAware 1.1.0 | GitHub Releaseの固定URL |
| APKサイズ | 120,512 bytes | GitHub APIのasset sizeと一致 |
| APK SHA-256 | 009B4671…CC41 | GitHub APIのdigestと一致 |
| 一覧 | 34ファイル | フォルダー行を除く |
| 展開後サイズ | 121,181 bytes | 34ファイルの合計 |
| 必須構造 | Manifest、DEX、resources.arscあり | APKらしい構成を確認 |
| 追加構造 | META-INFあり、libなし | ネイティブライブラリーを含まない標本 |
| 書庫テスト | 成功 | ZIP項目を最後まで読み取り |
APKの完全なSHA-256は 009B467109C4D48D4B00610B06F37F3A77EED75178FBAAE344A111ACC848CC41 です。この一致は取得したファイルがGitHub Releaseで示された資産と同じことを示しますが、アプリの安全性やAndroid端末との互換性までは示しません。
res/3z.png一件だけを選択解凍してCRCを照合
実測APKのres配下から、108×108 pxのPNG一件だけを取り出しました。ビルド済みAPKでは資源名が短縮されることがあり、ファイル名だけで用途を断定せず、APK Analyzerの資源情報や表示結果と組み合わせて判断します。
| 照合項目 | 結果 | 判定 |
|---|---|---|
| 項目名 | res/3z.png | 画像一件だけを選択 |
| 画像寸法 | 108×108 px | PNGとして読み取り |
| 元項目サイズ | 606 bytes | 一覧値 |
| 出力サイズ | 606 bytes | 一致 |
| 元項目CRC-32 | 457FF801 | 一覧値 |
| 出力CRC-32 | 457FF801 | 一致 |
| 出力SHA-256 | 32E535A5…633 | 再検証用に記録 |
KaruzipとAndroid公式APK Analyzerの使い分け
Android StudioのAPK Analyzerは、ファイルサイズ、DEX構成、最終的なAndroidManifest.xml、2つのAPKの比較まで扱います。Karuzipは、開発環境を用意せずにファイル階層を一覧し、必要な項目をそのまま取り出す前段に向きます。
| 方法 | 向く作業 | できない・注意すること |
|---|---|---|
| Karuzip | 一覧、検索、書庫情報、書庫テスト、全体・選択解凍 | バイナリManifest復元、DEX解析、署名検証、実行はしない |
| Android Studio APK Analyzer | Manifest復元表示、DEX・資源・サイズ分析、APK比較 | Android開発環境の導入が必要 |
| apkanalyzer | CIやコマンドラインでAPK属性・Manifest等を照会 | Android SDK Command-Line Toolsが必要 |
| apksigner verify | APK署名方式と証明書情報の検証 | コードの安全性そのものは判定しない |
| Android Package Installer | 対応端末へAPKを導入 | 中身確認だけのために使わない |
書庫テスト、APK署名、ウイルス確認は別の検査
AOSPは、AndroidのPackage Managerがインストール時にAPKの署名を検証すると説明しています。v2以降の署名方式ではAPK全体の変更検出を行います。Karuzipの書庫テストは圧縮項目を読み取れるかを確認する機能で、Android署名の有効性やマルウェアの有無を判定するものではありません。
| 検査 | 分かること | 分からないこと |
|---|---|---|
| 一覧表示 | 項目名、階層、サイズ、圧縮方式 | 署名の有効性、権限の意味、コードの挙動 |
| Karuzip書庫テスト | ZIP項目を最後まで読み取れるか | Android端末へインストールできるか |
| SHA-256照合 | 配布元が示した同一ファイルか | 配布元自体が信頼できるか |
| apksigner署名検証 | 署名方式、証明書、改変の有無 | アプリが安全・無害であること |
| セキュリティ製品のスキャン | 既知の脅威や疑わしい特徴 | 未知の処理を完全に否定すること |
| 実機・エミュレーター検証 | 対象環境での挙動 | すべての条件下での安全性 |
APK、AAB、split APKは同じ扱いではない
Android Developersによると、APKは端末へインストールできる形式、AABはストア等へ渡す公開用形式です。Google PlayはAABから端末構成に合うbase APKやconfiguration APKを生成します。単体の分割APKだけを取り出しても、アプリ全体としてインストール・動作できるとは限りません。
| 形式 | 役割 | Karuzipで確認する際の境界 |
|---|---|---|
| 通常APK | Androidへ導入する単一パッケージ | 内部一覧・解凍は可能。インストールは非対応 |
| base APK | split APK群の基礎 | 単体一覧だけで全資源が揃うとは限らない |
| configuration APK | 言語、画面密度、CPU等の追加資源 | 対応base APKとの組み合わせが必要 |
| AAB | ストアへ渡す公開用バンドル | APKと内部階層・用途が異なり、そのまま端末へ導入できない |
| XAPK・APKS等 | 複数APKや追加データをまとめる配布方式 | 提供元ごとの仕様を確認し、APKと同一視しない |
APKを開けない・解凍できないときの確認順
| 症状 | よくある原因 | 次に確認すること |
|---|---|---|
| 一覧が表示されない | 取得未完了、破損、APKではないファイル | 入手元のサイズ・SHA-256と照合して再取得 |
| AndroidManifest.xmlが読めない | バイナリXML | APK Analyzerで復元表示する |
| 画像名が短く用途が分からない | 資源のコンパイル・最適化 | APK Analyzerの資源参照と表示結果を照合 |
| classes.dexをテキストで読めない | コンパイル済みDEX | 解凍ではなく正規の解析環境を使う |
| APKをWindowsで起動できない | Android向け実行形式 | Windows版の有無を配布元へ確認 |
| Androidへインストールできない | 署名、OS版、CPU、split APK、既存版との不一致 | Package Installerの表示と配布元の要件を確認 |
| 解凍先へ書き込めない | 権限、空き容量、長いパス、同名項目 | 短いパスの空フォルダーへ出力 |
- APKを解凍できたことを、Windowsで実行できる証明にしない
- 書庫テスト成功を、署名有効・安全・正規品の証明にしない
- .apkを.zipへ変更したまま配布しない
- 入手元不明のAPKや抽出したコードを実行しない
- AndroidManifest.xmlが読めないことを破損と即断しない
- split APKの一部だけでインストールを試さない
- 元APKへ資源を戻して再配布する前に、署名とライセンスを確認する
APKの中身確認・解凍でよくある質問
APKファイルはWindowsで開けますか?
中身の一覧・解凍はできます。APKはZIP形式に従うため、KaruzipでAndroidManifest.xml、DEX、resources.arsc、画像等を確認できます。ただしWindowsアプリとしての実行はできません。
APKの拡張子をZIPへ変えないと解凍できませんか?
変更は不要です。Karuzipは.apkのまま一覧・解凍できます。名前を.zipへ変えてもAndroidアプリである性質や署名状態は変わらず、元の用途が分かりにくくなります。
APKを解凍すればAndroidアプリをWindowsで使えますか?
使えるようにはなりません。APKはAndroid向けの実行形式です。解凍は内部ファイルを取り出す操作で、Windows用exeへの変換やAndroid実行環境の提供ではありません。
APK内のAndroidManifest.xmlが文字化けして見えるのはなぜですか?
APK内のManifestは通常バイナリXMLです。破損とは限りません。内容を読みやすいXMLとして確認する場合はAndroid StudioのAPK Analyzerやapkanalyzer等を使います。
APKから画像だけを取り出せますか?
取り出せます。resやassets内の対象行を選び、選択解凍します。実測ではres/3z.png一件を606 bytesで出力し、一覧のCRC-32 457FF801と一致しました。
APK内のclasses.dexを解凍すれば元のソースコードになりますか?
なりません。DEXはAndroidランタイム向けのコンパイル済みコードです。解凍はファイルをそのまま取り出すだけで、元のKotlin・Javaソースへ戻しません。
書庫テストに成功したAPKは安全ですか?
安全性までは分かりません。書庫テストはZIP項目を読み取れるかを確認します。配布元、SHA-256、APK署名、権限、セキュリティ製品の結果は別に確認します。
META-INF/CERT.RSAがあれば署名済みの正規APKですか?
項目の存在だけでは判定できません。v1署名の関連項目である場合がありますが、署名の有効性、証明書、v2以降の署名方式はAndroid SDKのapksigner等で検証します。
APKとAABは同じファイルですか?
違います。APKはAndroidへインストールできる形式、AABはストア等へ渡す公開用形式です。AABは配布側で端末向けAPKへ処理されるため、内部階層と扱いも異なります。
KaruzipでAPKを編集して再作成できますか?
内部項目の一覧・抽出はできますが、バイナリ資源の再構築、zipalign、APK署名、端末互換性検証を含む再パッケージ機能はありません。Androidの正規ビルドツールを使います。
Karuzipで確認した条件
- 確認日
- 2026-08-01
- 環境
- Windows 11(日本語)、Karuzip v1.3.0の対応範囲、Karuzip同梱系の独立検証用7-Zip 25.01
- 標本
- AppliberatedがMITライセンスで公開するHelloWorldSelfAware v1.1.0。権限を要求しない小型学習アプリとして公開されているGitHub Release資産を固定URLから取得し、実行していない。
- 確認項目
- GitHub APIのasset size 120,512 bytesとdigest SHA-256に一致することを確認。ZIPとして34ファイル、展開後121,181 bytes、AndroidManifest.xml、classes.dex、resources.arsc、META-INFの存在、書庫テスト成功を独立確認。res/3z.png一件だけを選択解凍し、606 bytes、108×108 px、元項目と出力のCRC-32 457FF801一致を確認。
APK SHA-256 009B467109C4D48D4B00610B06F37F3A77EED75178FBAAE344A111ACC848CC41。選択解凍したres/3z.pngの出力SHA-256は32E535A52819E9526607412356BA1ABE1FBC2897A3F406FAEDE101377D6DB633。Android SDKがないためapksignerによる署名検証とAndroid端末へのインストールは未実施であり、記事でも成功を主張しない。
根拠と更新方針
Windowsの操作、ZIP形式の仕様、Karuzipの機能を混同しないよう、判断ごとに根拠を分けています。
- Application fundamentals | Android Developers developer.android.com APKがAndroidアプリの実行時内容を格納する書庫で、Android端末がインストールに使う形式であること。APKとAABの役割の違い。
- Analyze your build with the APK Analyzer | Android Developers developer.android.com APKがZIP形式に従うこと、ファイル階層、DEX・資源のサイズ、バイナリAndroidManifest.xmlの復元表示、APK比較。
- App signing | Android Open Source Project source.android.com Android Package Managerによるインストール時の署名検証、v1・v2・v3署名方式、v2以降の全体改変検出。
- Android App Bundle frequently asked questions | Android Developers developer.android.com APKはインストール可能な実行形式、AABはそのままAndroid端末へインストールしない公開用形式であること。
- The Android App Bundle format | Android Developers developer.android.com base APK、feature APK、configuration APK、DEX、資源、Manifestの構成と、split APKが複数で一つのアプリを構成し得ること。
- PackageInstaller | Android Developers developer.android.com 単一APKと複数split APKをAndroidへ導入するPackage Installerの役割。
- Hello World Self-Aware v1.1.0 | GitHub Release github.com 実測に使った公開APKのリリース番号、配布元、取得資産。
- Hello World Self-Aware | GitHub github.com 標本がMITライセンスで公開され、権限を要求しない小型学習用アプリとして説明されていること。
- APKファイルとは | Karuzip karuzip.com Karuzip v1.3.0でのAPK一覧、書庫情報、書庫テスト、全体・選択解凍と、Androidアプリ実行・署名検証・再パッケージ非対応の範囲。
APKを実行せず、中身を見て必要な項目だけローカルへ。
KaruzipはAPKの一覧、検索、書庫情報、書庫テスト、全体・選択解凍に対応します。Androidアプリの実行や署名検証は行わず、アプリがファイルを外部へ送信することもありません。
Karuzipを無料でダウンロード