Android Application Package、略してAPK(エーピーケー)とは?
そしてAPKファイルのバックアップの必要性について紹介しています。
APKファイルとは?
APKファイルとは、Androidにアプリをインストールするためのファイルです。拡張子は「.apk」になります。
AndroidのアプリはAPKファイルにして配布されています。Windowsを使い慣れた方にはEXEファイルのようなものと言えば伝わりやすいかもしれませんね。
普段Google Play経由でアプリを入れていると、APKのダウンロードからインストールまで自動でやってくれるのでAPKファイルを目にすることはありません。
例えばLINEをインストールすると、LINEアプリが入ったAPKファイルがスマホ・タブレットにダウンロードされ、自動でインストールが始まります。
APKファイルの保存先はどこ?
インストールしたアプリのAPKファイルは以下の場所に保存されます。
- /data/app/
-
/system/app/
/system/app/にはプリインストールアプリが保存されています。Google Playからインストールすると/data/app/に保存されます。
残念ながら、どちらもroot化しない限りアクセスできない仕様です。
…が!アプリを使うと簡単にスマホにインストールしたアプリのAPKファイルを抽出することができます。
APKファイルを取り出しバックアップするメリット
インストールしているアプリのAPKを取り出して保存しておくことのメリットをご紹介します。
と、その前に、まずは注意していただきたいことがあります。
APKファイルのバックアップで注意していただきたいこと
APKファイルに保存されているのはアプリ本体です。
バックアップを取ったAPKファイルを新しいスマホにインストールすると、まっさらな状態で使い始めることになります。
例えばLINEのAPKファイルをバックアップして、そのバックアップから別のスマホにインストールした場合、トーク内の会話などは全て消えた状態になります。初めてLINEを使うときと同じ状態になっています。
友だちリストなどLINEのサーバーに保存されているデータはログインすることで復旧できますが、アプリ内に保存されていたトーク内容などは消えてしまいます。
以下のものはAPKファイルには含まれないため、バックアップすることはできません。
- ゲームアプリのゲーム内で獲得したアイテムなどのセーブデータ
- メモ帳アプリのメモの内容
- LINEのトークの内容
これらのデータはAPKファイルには含まれませんのでご注意ください。アプリ内のデータをバックアップする方法はアプリ毎に異なります。
アプリ内のデータを引き継げないのなら、APKファイルをバックアップしておく必要なんてないじゃん、と思われるかもしれませんが、それでもAPKファイルをバックアップしておくメリットはあります。
アプリをダウングレードしたいとき
Google Playは最新版のアプリしかダウンロードできません。
そのため、最新版に不具合があった場合、それまで使っていたバージョンに戻すことができず、配信元が修正したバージョンを出すまで待たなくてはなりません。
でも、もしAPKファイルのバックアップがあれば簡単に元のバージョンに戻すことができます。
また、最新版に不具合はなくても自分にとって「改悪」と思われる更新が行われたときにダウングレードできると心強いですよね。
アプリの対応機種ではなくなってしまったとき
アプリが古い機種を対応機種から外すことがあります。外されてしまうと、Google Playからダウンロードすることができなくなります。
既にそのアプリをインストールしているスマホをそのまま使う場合は良いのですが、初期化などをしてアプリを消してしまうとそのアプリはもう使えなくなってしまいます。
こんなときも、その機種で使用できるバージョンのAPKファイルを保存しておけば、初期化後もインストールして使い続けることができます。
Google Playで配信されなくなったアプリのバックアップ
突然Google Playからアプリが消えてしまうことがあります。
怪しいアプリでGoogle Playから削除されることはありますが、まともなアプリでも開発元の意思で配信を中止してしまうこともあります。
こんなときもAPKファイルのバックアップがあれば安心ですね。
APKファイルはZIP形式で圧縮されている
APKファイルはZIP形式で圧縮されており、中にはアプリに必要なファイルが格納されています。
拡張子「.apk」を「.zip」に書き換えるとZIPファイルと同じように解凍してファイルを展開すれば中を見ることができます。
展開したファイルの中にはアプリのアイコンやプログラムなどが入っています。ただ、ほとんどのデータはバイナリ化されているため、内容を読むことはできません。
バイナリ化とは簡単に言うとコンピューターにわかる言語に変換することです。アプリの解析をしたい場合はツールを使う必要があり、ここでは割愛します。
まとめ
APKファイルは普通にGoogle Play経由でインストールしたアプリを使っているだけなら、特に意識することもないものです。
でも、もし「このアプリがないと困る!」というアプリがあるなら、そのアプリだけでもAPKファイルを取り出してバックアップしておくことをオススメします。