本記事ではパソコンを使って、apkファイルをAndroidにインストールする方法を2パターン解説します。
- 通常のインストール方法
- 既存アプリを上書く強制インストール方法
パソコンのadb環境さえあれば、カンタンな操作で実現できます。
adb installでパソコンからアプリを導入する方法
このパートでは、パソコンを使ってapkファイルをインストールする方法として、2つのadbコマンドを紹介します。
▼通常のインストール
adb install <パソコンに保存したapkファイルのパス>
▼上書きインストール
adb install -r -d <パソコンに保存したapkファイルのパス>
まったく新しいアプリをインストールする際は、「通常のインストール」を使用します。
一方、すでにアプリが導入されており、既存データを保持したまま強制的にインストールする際に、「上書きインストール」を使用します。
どちらのコマンドも、次のようなシーンで便利です。
- すでにPlayストアで配信終了したアプリをインストールしたい
- アプリを古いバージョンにダウングレードしたい
- 自作アプリをインストールしたい
次の順番で説明します。
- パソコンのadb環境等を用意する
- アプリのapkファイルを用意する
- adbコマンドでアプリをインストールする(adb install)
- adbコマンドでアプリを上書きインストールする(adb install -r -d)
1. パソコンのadb環境等を用意する
次の3つを用意します。
- パソコンのadb環境を用意する
- USBケーブルを用意する
- 開発者向けオプションの設定を変える(USBデバッグ/USB経由アプリ)
パソコンのadb環境を用意する
お使いのパソコンでadbコマンドを使用できる環境を用意して下さい。
Windows・Macそれぞれにおける手順は関連記事で解説しています。
USBケーブルを用意する
パソコンとAndroidを接続するケーブルも必要です。
スマートフォンのUSB端子形状(micro USB / Type C)に合わせ用意しましょう。
開発者向けオプションの設定を変える(USBデバッグ/USB経由アプリ)
設定の システム から 開発者向けオプション を開きます。
初めて開発者向けオプションを使う場合、デバイス情報の ビルド番号 を連続タップして、メニューを表示させて下さい。
詳細は関連記事【Androidの開発者向けオプションを表示/非表示にする方法! デベロッパーモードで隠れ機能を使おう】で解説しています。
開発者向けオプションの一覧より、USBデバッグとUSB経由のアプリを確認、それぞれ変更して下さい。
▼USBデバッグ→ONにする
USBデバッグの特徴・リスクについては、関連記事【AndroidでUSBデバッグを有効/無効にする方法! 設定をオンオフ切り替えよう】で解説しています。
▼USB経由のアプリを確認→OFFにする
2. アプリのapkファイルを用意する
インストールしたいアプリのapkファイルを準備して、パソコン側に保存して下さい。
apkファイルを用意する方法は、主に2パターンあります。
方法 | 特徴 |
---|---|
①端末から抽出する |
|
②外部からダウンロードする |
|
▼①端末から抽出する:Apk Extractorというアプリを使う例
▼②外部からダウンロードする:サイトAPK Downloaderを使う例
より詳細な情報は、関連記事【Androidでapkファイルを入手/インストールする方法まとめ! スマホのアプリをダウンロードしよう】で解説しています。
3. adbコマンドでアプリをインストールする(adb install)
まったく新しいアプリをインストールするなら、ここで紹介するコマンドを使用します。
adb install <パソコンに保存したapkファイルのパス>
例として、LINEアプリを新たに導入するケースで説明します。
AndroidとUSB接続した上で、パソコン側でadbコマンドを入力していきます。
下記コマンドをペーストし、末尾に半角スペースを空け、
adb install
用意しておいたapkファイルをドラッグ&ドロップ、
これで自動的にapkファイルの場所(絶対パス)が入力されます。
後は enter で実行すれば、apkファイルのインストールが開始され、「Success」と出れば成功です。
Android側でアプリがインストールされたことを確認できればOK。
4. adbコマンドでアプリを上書きインストールする(adb install -r -d)
すでにアプリが導入されており、既存データを保持したまま強制的にインストールするなら、ここで紹介するコマンドを使用します。
adb install -r -d <パソコンに保存したapkファイルのパス>
例として、すでに端末にメモ帳というアプリが入っており、データを残したままアプリバージョンを下げるケースで説明します。
AndroidとUSB接続した上で、パソコン側でadbコマンドを入力していきます。
下記コマンドをペーストし、末尾に半角スペースを空け、
adb install -r -d
アプリバージョンの古いメモ帳のapkファイルをドラッグ&ドロップ、
これで自動的にapkファイルの場所(絶対パス)が入力されます。
後は enter で実行すれば、apkファイルのインストールが開始され、「Success」と出れば成功です。
既存のメモ帳アプリに上書きインストールされ、データもそのままの状態で残っています。
ここで紹介したadb installオプションの意味です。
オプション | 意味 |
---|---|
-r | データを保持したまま、既存のアプリを再インストールします。 |
-d | バージョン コードのダウングレードを許可します。 |
参考 Google Developers – Android Debug Bridge
なお完璧な方法ではなく、アプリによってはうまくいきません。
例えばLINEの場合、adbコマンドのエラーは出ないものの、バージョンダウン後にアプリを起動できなくなりました。
そもそも、かつてのAndroidでは通常、上書きインストールによるバージョン変更も許容されていました。
具体的には、Android 4.1までならアプリアップデート後でも、古いバージョンのapkがあれば(データは保持したまま)上書きインストールが可能です。
ただAndroid 4.2以降では現在の仕様に変更となり、古いバージョンのapkは上書きインストールに失敗するケースがあります。
どうしてもアプリバージョンを下げたい場合、データは初期化されますが、いったんアンインストールした後、旧バージョンのapkを再インストールする代替策があります。
Androidのアプリダウングレードに関する詳細情報は、関連記事【Androidアプリをダウングレードする方法! apkファイルをダウンロードして元の旧バージョンへ戻そう】で解説しています。
参考:アプリを自動アップデートする方法
パソコンから導入したアプリであっても、Playストアに掲載されていれば、通常の自動更新が適用されます。
特定のアプリバージョンで止めたい場合、自動更新をストップしておきましょう。詳細は関連記事【Playストアで自動更新を停止する方法! Androidで個別アプリのアップデートをオフにしよう】で解説しています。
なおPlayストアにも存在しないアプリの場合、新しいバージョンのapkファイルを都度インストールすることで、アップデートに対応する必要があります。
補足:adbコマンドの強制インストールに関するアレコレ
このパートでは、adbコマンドのインストール操作に関連する、細かい情報を補足します。
- 補足①adbコマンドでエラーが表示される原因と解決策
- 補足②adb installとadb shell pm installの違いについて
- 補足③パソコンからAndroidアプリをアンインストールする方法
- 補足④パソコンから遠隔でAndroidアプリをインストールする方法
- 補足⑤スマートフォン上の操作でapkファイルをインストールする方法
adbコマンドでエラーが表示される原因と解決策
adbコマンド実行時に表示される主なエラー例を紹介します。
エラー | 想定される原因 |
---|---|
Failure [INSTALL_FAILED_VERIFICATION_FAILURE] | 「USB経由のアプリを確認」がオフになっていない |
Failure [INSTALL_FAILED_ALREADY_EXISTS] | 該当アプリがすでにインストールされている |
Failure [INSTALL_FAILED_VERSION_DOWNGRADE] | インストールするアプリバージョンが古い |
error: no devices/emulators found error: device unauthorized |
パソコンがAndroidを 正しく識別できていない |
同じエラーが出て困っていれば、参考にして下さい。
Failure [INSTALL_FAILED_VERIFICATION_FAILURE]
下記エラーが表示される場合、USB経由のアプリを確認 メニューが無効化されていない可能性があります。
Failure [INSTALL_FAILED_VERIFICATION_FAILURE]
解決策として、開発者向けオプションより設定状況をチェックして下さい。
Failure [INSTALL_FAILED_ALREADY_EXISTS]
下記エラーが表示される場合、adb installで実行したアプリがすでに端末内で存在しています。
Failure [INSTALL_FAILED_ALREADY_EXISTS]
解決策として、既存アプリの再インストールを許容するオプション”-r”を追加した、下記コマンドを実行して下さい。
adb install -r -d <パソコンに保存したapkファイルのパス>
詳細は前パートで解説しています(コチラをタップしてジャンプ)。
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
下記エラーが表示される場合、adb installで実行したアプリが、すでに端末内で存在しているバージョンより古いのが原因です。
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
これはAndroid4.2以降から導入された、「アプリの古いバージョンを上書きインストールできない」仕様が影響しています。
解決策として、バージョンのダウングレードを許容するオプション”-d”を追加した、下記コマンドを実行して下さい。
adb install -r -d <パソコンに保存したapkファイルのパス>
詳細は前パートで解説しています(コチラをタップしてジャンプ)。
error: no devices/emulators found…etc
下記エラーが表示される場合、パソコンとUSB接続したAndroidが正しく認識されていません。
▼エラー例1
error: no devices/emulators found
▼エラー例2
error: device unauthorized
次の2点が原因であるケースが多いので、確認して下さい。
- AndroidのUSBデバッグを有効にしているか
- 「このパソコンからのUSBデバッグを常に許可する」にチェックを入れたか
より詳細な情報について、関連記事【adbコマンドでエラーが出る原因まとめ! adb/fastboot devicesの認識されない問題を解決しよう】で解説しています。
adb installとadb shell pm installの違いについて
apkをインストールするadbコマンドは、主に2パターンあります。
▼パソコンにあるapkファイルをインストール
adb install <パソコンに保存したapkファイルのパス>
▼Androidに転送済みapkファイルをインストール
adb shell pm install <端末に転送したapkファイルのパス>
記事中では前者を例に説明しましたが、後者の方法でも結果にあまり違いはありません。
例えばパソコン上にある、メモ帳というアプリのapkファイルをインストールするケースで説明します。
まず下記adbコマンドで、パソコンからAndroidへapkファイルを転送します。
adb push <PCに保存したapkファイルのパス> /data/local/tmp/
次に下記adbコマンドで、Androidに移したapkファイルをインストールします。
adb shell pm install /data/local/tmp/<端末に転送したapkファイル名>
「Success」と表示が出ればOK。
また既存アプリを強制的に上書きインストールしたい場合、”-r”・”-d”オプションを追加する点はadb installと同じです。
adb shell pm install -r -d <端末に転送したapkファイルのパス>
ちなみに”/data/local/tmp/”以外の場所にあるapkファイルだと、うまくインストールできません。
例えば内部ストレージ直下のDownloadフォルダにapkファイルを移し、adb shell pm installを実行すると、下記メッセージが出ます。
avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:fuse:s0 tclass=file permissive=0 System server has no access to read file context u:object_r:fuse:s0 (from path /storage/emulated/0/Download/Memo.apk, context u:r:system_server:s0) Error: Unable to open file: /storage/emulated/0/Download/Memo.apk Consider using a file under /data/local/tmp/ Error: Can't open file: /storage/emulated/0/Download/Memo.apk Exception occurred while executing 'install': java.lang.IllegalArgumentException: Error: Can't open file: /storage/emulated/0/Download/Memo.apk at com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:519) at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1282) at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1248) at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:184) at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98) at android.os.ShellCommand.exec(ShellCommand.java:44) at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21679) at android.os.Binder.shellCommand(Binder.java:929) at android.os.Binder.onTransact(Binder.java:813) at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4621) at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4314) at android.os.Binder.execTransactInternal(Binder.java:1159) at android.os.Binder.execTransact(Binder.java:1123)
そのため、いったんadb pushで”/data/local/tmp/”へapkファイルを移す作業が必要となります。
パソコンからAndroidアプリをアンインストールする方法
本記事の趣旨とは逆に「パソコンからAndroidのアプリを削除する方法」は、同様にadbコマンドを使って実現できます。
▼通常のアンインストール
adb uninstall <アプリのパッケージ名>
▼強制アンインストール
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
詳細は関連記事【adbでAndroidアプリをアンインストールする方法! uninstallコマンドで削除しよう】で解説しています。
パソコンから遠隔でAndroidアプリをインストールする方法
Playストアで配信されるアプリであれば、同じGoogleアカウントにログインすることで、遠隔からアプリのインストール指示を送ることが可能です。
手順の詳細は関連記事【Androidアプリを遠隔でインストール/アンインストールする方法! パソコンからスマートフォンに導入/削除しよう】で解説しています。
スマートフォン上の操作でapkファイルをインストールする方法
今回はパソコンを使う手順を解説しましたが、端末にapkファイルが保存されていれば、スマートフォン上の操作だけでインストール可能です。
その場合、事前に設定の「提供元不明のアプリ」を許可する必要があります。
詳細は関連記事【Androidで提供元不明アプリをインストールする方法! スマホ操作でapkファイルを許可しよう】で解説しています。
〆:パソコンからapkを導入しよう!
以上、PCからAndroidにアプリをインストールする方法! ダウンロードしたapkをadb installで上書きしよう の説明でした。
自分で用意したapkファイルをAndroidへインストールしたいシーンで、今回の手順を知ってると便利です。
ただ「既存アプリがある」・「アプリバージョンが変わる」等の原因で、様々なエラーが表示されることもあります。
記事中でそれぞれ留意点を解説しているので、合わせてチェックしてみて下さい。
コメント
adbコマンドを実行するから、コマンドを入力する画面には、どこを開けばいいのでしょうか?お手数お掛け致しますが、教えてください。
左下のたんぼ?を右クリックして、Windows Power shell ってやつを選べば使えます(^ν^)(Windows 10 以外でしたらすみません)
キーボードのWindowsキーとRを同時押ししてcmdと検索すればできます