本記事では、AndroidにインストールされているアプリのAPKファイルを抽出する方法を解説します。
Androidスマホ・タブレットを使っていて、こんなことを思ったことはないでしょうか?
「アプリをアップデートしたら動きが変!昔のバージョンに戻したい!」
「新しく買い替えたスマホに今まで愛用していたアプリをインストールしようと思ったら、Google Playからアプリがなくなっていた!」
そんな時、「APK ファイル」をバックアップしておけば、アプリを旧バージョンへ戻せるだけでなく、Google Playから削除されても新しい端末にアプリをインストールできるのです。
特に難しい操作ではないので、万が一に備えアプリの復元手段を確保しておきたい方は、ぜひ参考にしてみてください。
目次
APKファイルとは
APKファイルとは、Androidにアプリをインストールするためのファイルで、拡張子は「.apk」になります。
Androidのアプリは、この「APKファイル」にして配布されています。
Windowsを使い慣れた方には、ソフトウェアをインストールするときに使う「EXEファイル」のようなものと言えば伝わりやすいかもしれません。
通常、Google Play経由でアプリを入れていると、APKのダウンロードからインストールまで全て自動でやってくれる為、APKファイルを目にすることはありません。
例えば、LINEアプリをインストールしようとすると、LINEアプリが入ったAPKファイルがスマホ・タブレットにダウンロードされ、自動でインストールが始まります。
本来はこのようにアプリのインストールを行うのですが、アプリをインストールしている端末からAPKファイルを抜き出すアプリを使い、APKファイルを抽出して別の端末に移動させてAPKファイルを実行すると、そのアプリをインストールすることができます。
APKファイルがあれば、Google Playを経由しなくてもアプリをインストールすることができるので、大事なアプリのバックアップとして保存しておくことをオススメします。
APKファイルをバックアップするメリット
アプリのダウングレード Google Playは最新バージョンのアプリしかダウンロードできない為、もし不具合があった場合、それまで使っていたバージョンに戻すことができず、配信元が修正したバージョンを出すまで待たなくてはなりません。
しかし、APKファイルのバックアップがあれば以前のバージョンに戻すことができます。対応機種ではない端末でのアプリの使用 Androidのバージョンが古い機種の場合、アプリの対応機種から外されることがあり、その場合、Google Playからダウンロードすることができなくなります。
既にそのアプリをインストールしているスマホをそのまま使う場合は良いのですが、初期化などをしてアプリを消してしまうとそのアプリはもう使えなくなってしまいます。
こんな場合でも、その機種で使用できるバージョンのAPKファイルを保存しておけば、初期化後もインストールして使い続けることが可能です。
また、Androidのバージョンが新しく、アプリに対応しているものであっても、端末によってはGoogle Playからダウンロードすることができないものもあります。
この場合も、その機種で使用できるバージョンのAPKファイルを保存しておけば、インストールして使用することが可能です。Google Playで配信されなくなったアプリのバックアップ ある日突然Google Playからアプリが消えてしまうことがあります。
勿論、怪しいアプリでGoogle Playから削除されるということはありますが、まともなアプリであっても開発元の意思で配信を中止してしまうこともあります。
こんなときにも、APKファイルのバックアップがあれば安心です。
別の端末にアプリを移行する際の注意点
コピー先の端末がアプリに対応していない場合はインストールできない 例えば、Android 4.3のスマホにAndroid 4.4からしか対応していないアプリを入れようとしても残念ながらインストールはできません。
逆に、Android 9.0のスマホにAndroid 6.0から対応しているアプリを入れようとして、何故かGoogle Playからインストールできないという場合、この方法でインストールが可能です。古いバージョンのアプリはセキュリティ的に危険な場合もある Google Playでは常にそのアプリの最新バージョンが配信されています。
当然ですが、抽出したAPKファイルのバージョンは抽出した時のバージョンのまま更新されることはありません。
いつまでも古いバージョンのままアプリを使っていると、脆弱性(欠陥)が見つかった場合に危険な状態になります。
また、そもそも古いバージョンだとアプリが動かない場合もあります。
特に理由がないのであれば、アプリは最新のものを使うことをオススメします。APKファイルに含まれるのはアプリ本体のみ APKファイルにはアプリ内のデータまでは含まれていません。
例えば、「LINEのトーク内容」、「メールアプリで受信したメール」、「ゲームアプリのセーブデータ」のようなデータはAPKファイルには含まれていません。
その為、APKファイルでコピー先の端末にインストールした場合、初めてそのアプリを使ったときと同じ、まっさらな状態になります。
サーバーに保存されているデータは良いのですが、端末に保存されているデータはAPKファイルとは別に保存する必要があり、その保存方法はアプリにより異なります。
ゲームのバックアップを考えている場合はアカウントのデータ移行準備を整えておくことや、LINEなどメッセージアプリの場合はメッセージのログを保存しておくことをおすすめします。
バックアップの手順
バックアップの手順は以下の通りです。
① コピー元の端末からアプリのAPKファイルを抽出
② 抽出したAPKファイルをコピー先の端末に移動
③コピー先の端末でAPKファイルを実行してアプリをインストール
以下、それぞれの手順を解説します。
手順1. APK抽出、バックアップ
アプリとその特徴は以下の表の通りです。
アプリ | 特徴 |
---|---|
JSバックアップ | 見た目がシンプルでわかりやすい 操作が簡単 バックアップは標準データ(連絡先、通話履歴、SMSなど)、画像、動画、音楽、文書と数多く対応 |
Apk Extractor | シンプルな操作性 |
Apps Backup & Restore | バックアップ・復元機能が多様 日本語に対応 |
いずれか1つを使ってAPKファイルを抽出して下さい。
使用するアプリはどれでも構いません。
自身が使いやすいものをどうぞ。
JSバックアップ
JSバックアップ:https://play.google.com/store/apps/details?id=jp.co.johospace.backup
Google PlayでJSバックアップをインストールします。
初めて起動する場合、「JSバックアップの利用について」という画面が表示されます。
利用規約を確認して「利用規約・プライバシーポリシーを読んで同意する(必須)」にチェックを入れ、[同意する]をタップします。
また、「品質向上のお願い」ダイアログが表示されたら[OK]をタップ。
その後、「アクセス許可依頼」という画面が表示されますので、使用目的を読み[とじる]をタップします。
いくつかの許可を求められるので、[許可]をタップしていきます。
許可を求められたのは以下の8つの権限です。
使用目的は「アクセス許可依頼」の画面に記載があります。
- SMSメッセージの送信と表示
- 写真と動画の撮影
- カレンダーへのアクセス
- 端末上の写真、メディア、ファイルへのアクセス
- 連絡先へのアクセス
- 通話履歴へのアクセス
- 電話の発信と管理
- 端末の位置情報へのアクセス
全て許可しないとJSバックアップが起動しませんでした。
全て許可すると、JSバックアップのアプリが使える状態になります。
まず、抽出したAPKファイルの保存先を選択します。
JSバックアップのトップ画面の左上にある3本ラインのハンバーガーアイコンをタップし、[詳細設定]をタップ。
[バックアップ設定]をタップ。
[SDカードのパス設定]をタップし、「内部ストレージ」か「SDカード」のどちらかを選んで[確定]をタップ。
次に、バックアップの手順に入ります。
JSバックアップのトップ画面に戻り、[バックアップ&復元]をタップ。
スマホ・タブレットの機種によってはバッテリーセーバー機能が働き、JSバックアップの「バックグラウンドでの実行」を許可する必要があります。
「アプリにバックグラウンドでの常時実行を許可しますか?」という表示は機種によって違うかもしれませんが、許可しないと次のような画面が出て、JSバックアップの機能が使えません。
これらの表示が出ない場合、次の手順に進んでください。
[バックアップ&復元]の画面の左上の3本ラインのハンバーガーアイコンをタップし、[APKバックアップ]をタップ。
APKファイルを抽出できるアプリが一覧表示されます。
上部の[バックアップアプリ]をタップすると、APKファイルを抽出したいアプリを選択することが可能です。
選択するとアプリ名の右側にチェックマークが入ります。
抽出するアプリにチェックを入れたら[選択]をタップします。
なお、[全てのアプリを選択]で全アプリにチェックを入れたり外したりすることができます。
先ほど選択したアプリだけが表示されるので、[バックアップスタート]をタップします。
確認画面が出たら[確定]をタップ。
「バックアップ結果」画面が表示されたら完了です。
前述した手順では、SDカードの下記の場所にAPKファイルが保存されるように設定しました。
/ storage / SDカードの名前 / Android / data / jp.co.johospace.backup /
そして、「TSUTAYA」アプリのAPKファイルを抽出してからファイルマネージャー系アプリで保存先を開くと、新しく「jp.co.tsutaya.android.ranking」というフォルダが作成されています。
/ storage / SDカードの名前 / Android / data / jp.co.johospace.backup / apk / jp.co.tsutaya.android.ranking /
その中には「APKファイル(.apk)」、「PNGファイル(.png)」、「CSVファイル(.csv)」の3つのファイルがあります。
JSバックアップを使い、機種変更などで別のスマホへアプリをコピーする場合は、「jp.co.tsutaya.android.ranking」フォルダをGoogleドライブやDropbox等のクラウドストレージへ保存して、移動先の端末にもJSバックアップをインストールして復元をします。
長くなってしまうので、ここではJSバックアップを使った復元方法は割愛します。
抽出したファイルの中の拡張子が「.apk」のファイルだけ別の端末に移動して開けば、アプリをインストールすることができます。
CSVファイルとPNGファイルはJSバックアップのアプリで使用するものなので、そのアプリをインストールするときにJSバックアップを通さないのであれば(JSバックアップで復元しないのであれば)、APKファイルだけ保存しておけば大丈夫です。
⇒手順2へ:抽出したAPKファイルをコピー先の端末に移動
Apk Extractor
Apk Extractor:https://play.google.com/store/apps/details?id=com.ext.ui&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1
Google PlayでApk Extractorをインストールします。
Apk Extractorを起動すると端末にインストールされているアプリの一覧が表示されます。
その中からAPKファイルを取り出したいアプリをタップします。
初回だけ「端末内の写真、メディア、ファイルへのアクセスをApk Extractorに許可しますか?」と許可を求められますので、[許可]をタップ。
「Extracted to Path …」という表示が出たら、APKの取り出し完了です。
複数のアプリをバックアップしたい場合、アプリ名をタップして長押しすることで、複数のアプリを選択することもできます。
その後、抽出アイコンをタップすればOKです。
また、画面右上のメニューボタンをタップして「Select All」から、全てのアプリを選択することもできます。
Apk Extractorで抽出したAPKファイルは、デフォルトでは「ExtractedApks」フォルダに保存されます。
もし、別の場所にファイルを保存したい場合、設定から変更することが可能です。
画面右上のメニューボタンをタップして「Settings」をタップしすると、Settingsメニューが表示されるので、「Saved path」をタップしましょう。
「Saved path」をタップすると、ファイラーアプリのようにフォルダ一覧が表示されます。
左上に表示されている矢印マークでフォルダの階層を上ることができるので、保存したいフォルダを探してタップしたら、右上のチェックマークをタップすることで保存先フォルダに設定することができます。
ただし、SDカード等の外部ストレージは選択できませんので注意しましょう。
なお、デフォルトの状態では、システムアプリを含めた全てのアプリが表示されます。
数が多く見づらい場合は、「Settings」から「Show all applications」をオフにすることで、システムアプリを非表示へ切り替えることが可能です。
Apk Extractorで抽出したAPKファイルは、デフォルトでは「ExtractedApks」フォルダ(/storage/emulated/0/ ExtractedApks)に、設定を変更した後は設定したフォルダに保存されます。
いずれにせよ「Saved path」の下に表示されるパスから現在の保存場所が確認できます。
⇒手順2へ:抽出したAPKファイルをコピー先の端末に移動
Apps Backup and Restore
Apps Backup and Restore:https://play.google.com/store/apps/details?id=com.touchfield.appbackuprestore
Google PlayでApps Backup and Restoreをインストールします。
Apps Backup and Restoreを起動すると、初回だけ「端末内の写真、メディア、ファイルへのアクセスをApps Backup Restoreに許可しますか?」と許可を求められますので、[許可]をタップ。
次に、Backup apps will be stored on (/storage/emulated/0/Apps_backup_reinstall) と表示されます。
表示されるのは、「バックアップしたアプリは /storage/emulated/0/Apps_backup_reinstall に保存されます」という内容です。
「OK」をタップしてください。
端末にインストールされているアプリの一覧が表示されます。
その中からAPKファイルを取り出したいアプリをタップし、チェックを入れます。
この時、複数のアプリを選択することも可能です。
アプリの選択後、画面下部の「BACKUP」ボタンをタップするとバックアップが始まります。
バックアップが完了したアプリにはArchibedという表示が出ます。
なお、バックアップしたアプリは、「ARCHIVED」タブで確認できます。
また、内部ストレージ直下に自動生成される「Apps_backup_reinstall」フォルダに、apkファイルが保存されます。
手順2. 抽出したAPKファイルをコピー先の端末に移動
抽出したアプリをコピー先の端末に移動する方法はいくつかあります。
- SDカードにAPKファイルを入れ、コピー先の端末にSDカードを挿す
- GoogleドライブやDropboxなどのオンラインストレージを経由する
- PCを経由する
いずれかの方法で、別の端末にAPKファイルを移動させましょう。
手順3. APKインストール
ファイルマネージャー系のアプリでインストールしたいAPKファイルを開くとインストールが始まります。
抽出したapkファイルは野良アプリ(Google Play以外からダウンロードしたファイル)の扱いになる為、インストールする場合は、端末の設定で「提供元不明のアプリ」を許可する必要があります。
Androidのバージョンにより多少操作が異なるので、ここではAndroid 7.1以前とAndroid 8.0以降に分けて説明します。
Android 7.1以前
Android 7.1以前の場合は、Android端末の設定アプリを起動し、[セキュリティ]をタップ。
その後、[提供元不明のアプリ]をタップしてオンにします。
警告が出ますが、[許可]をタップ。
Android 8.0以降
Android 8.0以降は、提供元不明アプリのことを「不明なアプリ」とし、インストール時に使用するアプリごとに「この提供元を許可する」をONにする必要があります。
Android 7.1以前はAndroidのシステム全体で「許可をする、しない」を決めていたのですが、Android 8.0 以降ではアプリ毎に「許可」が求められることになりました。
例えば、ブラウザアプリのChromeでウェブサイトから不明なアプリ(提供元不明のアプリ)をインストールする際には、Chromeで「この提供元を許可する」という設定をONにしなければ、インストールできません。
以下の手順では、プリインストール(購入時からインストール)されていたファイルマネージャー系アプリ「Files by Google」に許可をした例です。
手順はどのアプリでも一緒です。
まず、設定アプリを開き、項目一覧の中から[アプリと通知]をタップします。
アプリの情報が表示されるので、一番下に表示されている[詳細設定]をタップしましょう。
折りたたまれていた項目が展開されるので、「特別なアプリアクセス」をタップ。
特別なアプリアクセス一覧から[不明なアプリのインストール]をタップします。
不明なアプリのインストール一覧からインストールに使うアプリを選択した後、[この提供元のアプリを許可]をタップしましょう。
APKファイルでアプリをインストール
「提供元不明のアプリ」を許可した後、ファイルマネージャー系のアプリでインストールしたいAPKファイルを開きます。
「このアプリをインストールしてもよろしいですか?」と表示されるので、[インストール]をタップします。
インストールをタップすると、インストールが始まり、アプリがインストールされます。
セキュリティ的にはインストールが完了後、[不明なアプリのインストール]の設定を元に戻すことをオススメします。
まとめ
APKファイルとは、Androidにアプリをインストールするためのファイルで、普通にGoogle Play経由でインストールしたアプリを使っているだけなら、特に意識することもないものです。
しかし、もし「このアプリがないと困る!」というアプリがあるなら、そのアプリだけでもAPKファイルを取り出してバックアップしておくことをオススメします。
APKファイルをバックアップしておけば、アプリを旧バージョンへ戻せるだけでなく、Google Playストアから削除されても新しい端末にアプリをインストール可能です。
特に難しい操作ではないので、万が一に備えてアプリの復元手段を確保しておきたい方は、ぜひ試してみてください。
この記事が参考になれば幸いです。
最後までお読みいただき、ありがとうございました。