差分

ナビゲーションに移動 検索に移動

Apkファイル

2,898 バイト追加, 2012年7月3日 (火) 04:23
ページの作成:「'''apkファイル'''('''a'''ndroid application '''p'''ac'''k'''age file)とは、Googleが提供するAndroid OS向けのアプリケーションおよ...」
'''apkファイル'''('''a'''ndroid application '''p'''ac'''k'''age file)とは、[[Google]]が提供する[[Android OS]]向けの[[アプリケーション]]および[[ミドルウェア]]の配布に用いる[[インストーラー]]形式の[[ファイル]]のことである。

拡張子は「'''.apk'''」であり、MIMEタイプは「application/vnd.android.package-archive」となっている。

apkファイルは[[Java]]で広く用いられる[[jarファイル]]の亜種で、[[プログラム]](.dexファイル)、各種[[リソー]]ス、[[証明書]]、およびマニフェストファイルなどを内部に保持している。jarファイルの亜種であり、jarファイルと同様に拡張子そこ違えど実態は[[zipファイル]]である。

== 内容物 ==
apkファイルの中身は、通常以下のような[[ディレクトリ構造]]となっている。
あくまで例であり、もう少し多い場合もある。
* META-INFディレクトリ:
** MANIFEST.MF: [[マニフェストファイル]]。[[jarファイル]]から継承したもので[[ファイル]]の説明が記述されている。後述するAndroidManifest.xmlとは別物である。
** CERT.RSA: [[アプリケーション]]の[[証明書]]。
** CERT.SF: 各種[[リソース]]の保存場所とその[[SHA-1]]ダイジェストの一覧
*: 例:
<pre>
Signature-Version: 1.0
Created-By: 1.0 (Android)
SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
...
Name: res/layout/exchange_component_back_bottom.xml
SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
...
Name: res/drawable-hdpi/icon.png
SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
</pre>
* res: 各種[[リソース]]を格納する[[ディレクトリ]]([[アプリ]]が使う画像ファイルや音声ファイルなど)
* AndroidManifest.xml: [[Android]]の[[マニフェストファイル]]。[[アプリケーション]]の名称やバージョン、使用するアクセス権限などが書かれている[[XML]]形式のファイルである。
* classes.dex: dexファイル形式のプログラム([[Dalvik仮想マシン]]用の[[中間コード]]である)。
* resources.arsc: [[リソース]]のうち、各国語対応のための文字列リソースなど、個別ファイルにする必要のないものが[[xml]]形式で格納されている。

なお、apkファイル内には[[xml]]形式のファイルが頻出するが、それらは基本的に[[難読化]]されており、人間が読めるようなものではない。そのようなapkファイルを人間が読める形にしてくれる「[[apktool]]」という[[オープンソース]]で開発が行われているツールがある<ref>http://code.google.com/p/android-apktool/</ref>。

== 関連項目 ==
* [[Android]]
* [[Mono for Android]]

== 参考文献 ==
<references/>

== 外部リンク ==

{{stub}}
匿名利用者

案内メニュー