メインメニューを開く

差分

Apkファイル

337 バイト追加, 2020年1月30日 (木) 01:28
{{小文字}}'''apkファイル'''('''a'''ndroid application '''p'''ac'''k'''age file)とは、file, [[拡張子]]:.apk)とは、[[Google]]が提供する[[Android OS]]向けの[[アプリケーション]]および[[ミドルウェア]]の配布に用いる[[インストーラー]]形式の[[ファイル]]のことである。
拡張子は「[[拡張子]]は「'''.apk'''」であり、MIMEタイプは「application」であり、[[MIMEタイプ]]は「application/vnd.android.package-archive」となっている。
== 概要 ==apkファイルは[[Java]]で広く用いられる[[jarファイル]]の亜種で、の亜種であり、[[プログラム]]([[.dexファイル)、各種dexファイル]])、各種[[リソーリソース]]ス、[[証明書]]、およびマニフェストファイルなどを内部に保持している。jarファイルの亜種であり、jarファイルと同様に拡張子そこ違えど実態は、およびマニフェストファイルなどを内部に保持している。 jarファイルと同様に[[拡張子]]こそ違えど、その実体は[[zipファイル]]である。
== 内容物 ==
apkファイルの中身は、通常以下のようなapkファイルの中身は通常以下のような[[ディレクトリ構造]]となっている。
あくまで例であり、もう少し多い場合もある。
* META-INFディレクトリ:
</pre>
* res: 各種[[リソース]]を格納する[[ディレクトリ]]([[アプリ]]が使う画像ファイルや音声ファイルなど)
* AndroidManifest.xml: [[Android]]の[[マニフェストファイル]]。[[アプリケーション]]の名称やバージョン、使用するアクセス権限などが書かれている[[XML]]形式のファイルである。形式の[[ファイル]]である。* classes.dex: dexファイル形式のプログラム([[dexファイル]]形式の[[プログラム]]([[Dalvik仮想マシン]]用の[[中間コード]]である)。である)。これが[[実行ファイル]]の実体であり[[Windows]]でいう[[exeファイル]]に相当する。
* resources.arsc: [[リソース]]のうち、各国語対応のための文字列リソースなど、個別ファイルにする必要のないものが[[xml]]形式で格納されている。
なお、apkファイル内には[[xml]]形式のファイルが頻出するが、それらは基本的に[[難読化]]されており、人間が読めるようなものではない。そのようなapkファイルを人間が読める形にしてくれる「[[apktool]]」という[[オープンソース]]で開発が行われているツールがある<ref>http://code.google.com/p/android-apktool/</ref>。
 
[[dexファイル]]は[[dex2jar]]や[[jad]]などを組み合わせることで簡単に[[逆コンパイル]]できる。
== 関連項目 ==
* [[Android]]
* [[Mono for Android]]
; 類似
* [[appxファイル]]
== 参考文献 ==
<references/>{{reflist}}
== 外部リンク =={{stub}}
{{stub}}[[category:拡張子]][[category:Android]]