PCからAndroidにアプリをインストールする方法! ダウンロードしたapkをadb installで上書きしよう

スポンサーリンク
Android

本記事ではパソコンを使って、apkファイルをAndroidにインストールする方法を2パターン解説します。

  • 通常のインストール方法
  • 既存アプリを上書く強制インストール方法

パソコンのadb環境さえあれば、カンタンな操作で実現できます。

 

スポンサーリンク
スポンサーリンク

adb installでパソコンからアプリを導入する方法

このパートでは、パソコンを使ってapkファイルをインストールする方法として、2つのadbコマンドを紹介します。

【apkファイルとは?】 – Android向けアプリを構成するパッケージのこと。ファイル拡張子は .apk 。

▼通常のインストール

adb install <パソコンに保存したapkファイルのパス>

▼上書きインストール

adb install -r -d <パソコンに保存したapkファイルのパス>

まったく新しいアプリをインストールする際は、「通常のインストール」を使用します。

一方、すでにアプリが導入されており、既存データを保持したまま強制的にインストールする際に、「上書きインストール」を使用します。

どちらのコマンドも、次のようなシーンで便利です。

  • すでにPlayストアで配信終了したアプリをインストールしたい
  • アプリを古いバージョンにダウングレードしたい
  • 自作アプリをインストールしたい

次の順番で説明します。

  1. パソコンのadb環境等を用意する
  2. アプリのapkファイルを用意する
  3. adbコマンドでアプリをインストールする(adb install)
  4. adbコマンドでアプリを上書きインストールする(adb install -r -d)

1. パソコンのadb環境等を用意する

次の3つを用意します。

  • パソコンのadb環境を用意する
  • USBケーブルを用意する
  • 開発者向けオプションの設定を変える(USBデバッグ/USB経由アプリ)

パソコンのadb環境を用意する

お使いのパソコンでadbコマンドを使用できる環境を用意して下さい。

Windows・Macそれぞれにおける手順は関連記事で解説しています。

Windowsでadbコマンドを使う方法! Android SDKを入れてパソコンのコマンドプロンプトから操作しよう
この記事では、Windows PCでadbコマンドを使う方法を解説します。
Macでadbコマンドを使う方法! Android Studioを入れてmacOSのターミナルから操作しよう
この記事では、Macでadbコマンドを使う方法を解説します。

USBケーブルを用意する

パソコンとAndroidを接続するケーブルも必要です。

スマートフォンのUSB端子形状(micro USB / Type C)に合わせ用意しましょう。

開発者向けオプションの設定を変える(USBデバッグ/USB経由アプリ)

Android設定アプリのアイコン設定の システム から 開発者向けオプション を開きます。

開発者向けオプションを開く手順

開発者向けオプションの一覧より、USBデバッグUSB経由のアプリを確認、それぞれ変更して下さい。

▼USBデバッグ→ONにする

開発者向けオプションでUSBデバッグを有効にする手順

▼USB経由のアプリを確認→OFFにする

開発者向けオプションでUSB経由のアプリを確認を無効にする手順

USB経由のアプリを確認 メニューは、先に USBデバッグ を有効にしておかないと、グレーアウトされて選択できません。

2. アプリのapkファイルを用意する

インストールしたいアプリのapkファイルを準備して、パソコン側に保存して下さい。

apkファイルを用意する方法は、主に2パターンあります。

方法 特徴
①端末から抽出する
  • 安全性が高い
  • プリインアプリ/システムアプリ
    のapkも取得できる
②外部からダウンロードする
  • 端末に入っていないアプリの
    apkも取得できる
  • 過去の古いバージョンの
    apkも取得できる

▼①端末から抽出する:Apk ExtractorのアイコンApk Extractorというアプリを使う例

Apk Extractorの説明

メモ帳アプリのapkファイルを抽出した例。

▼②外部からダウンロードする:サイトAPK DownloaderのアイコンAPK Downloaderを使う例

APK Downloaderの使い方

対象アプリのURLを貼り付ければ、ダウンロードリンクを生成できる。

より詳細な情報は、関連記事【Androidでapkファイルを入手/インストールする方法まとめ! スマホのアプリをダウンロードしよう】で解説しています。

Androidでapkファイルを入手/インストールする方法まとめ! スマホのアプリをダウンロードしよう
この記事では、apkファイルの保存および導入方法をまとめています。インストールできないエラーも解説します。
保存したapkファイルは、インストール完了後に削除しても問題ありません(Android側へ導入したアプリはそのまま残ります)。

3. adbコマンドでアプリをインストールする(adb install)

まったく新しいアプリをインストールするなら、ここで紹介するコマンドを使用します。

adb install <パソコンに保存したapkファイルのパス>

例として、LINEアプリのアイコンLINEアプリを新たに導入するケースで説明します。

既存アプリを上書きたい場合、次に紹介する”強制インストール”のコマンドをどうぞ。

AndroidとUSB接続した上で、パソコン側でadbコマンドを入力していきます。

下記コマンドをペーストし、末尾に半角スペースを空け、

adb install

adbコマンドadb installでアプリをインストールする手順1

用意しておいたapkファイルをドラッグ&ドロップ、

adbコマンドadb installでアプリをインストールする手順2

LINEアプリのapkファイル。

これで自動的にapkファイルの場所(絶対パス)が入力されます。

adbコマンドadb installでアプリをインストールする手順3

後は enter で実行すれば、apkファイルのインストールが開始され、「Success」と出れば成功です。

adbコマンドadb installでアプリをインストールする手順4

Android側でアプリがインストールされたことを確認できればOK。

adbコマンドadb installでアプリをインストールする手順5

LINEアプリをインストールした例。

4. adbコマンドでアプリを上書きインストールする(adb install -r -d)

すでにアプリが導入されており、既存データを保持したまま強制的にインストールするなら、ここで紹介するコマンドを使用します。

adb install -r -d <パソコンに保存したapkファイルのパス>
新規アプリをインストールする場合、前で紹介した”通常インストール”のコマンドをどうぞ。

例として、すでに端末にメモ帳のアイコンメモ帳というアプリが入っており、データを残したままアプリバージョンを下げるケースで説明します。

端末にインストール済みアプリの説明

(左)アプリバージョン1.22 (右)入力済みメモがある状態

AndroidとUSB接続した上で、パソコン側でadbコマンドを入力していきます。

下記コマンドをペーストし、末尾に半角スペースを空け、

adb install -r -d

adbコマンドadb install -r -dでアプリを上書きインストールする手順1

アプリバージョンの古いメモ帳のアイコンメモ帳のapkファイルをドラッグ&ドロップ、

adbコマンドadb install -r -dでアプリを上書きインストールする手順2

メモアプリのapkファイル。

これで自動的にapkファイルの場所(絶対パス)が入力されます。

adbコマンドadb install -r -dでアプリを上書きインストールする手順3

後は enter で実行すれば、apkファイルのインストールが開始され、「Success」と出れば成功です。

adbコマンドadb install -r -dでアプリを上書きインストールする手順4

既存のメモ帳のアイコンメモ帳アプリに上書きインストールされ、データもそのままの状態で残っています。

使用したapkファイルが旧バージョンであれば、ダウングレードも可能です。
adbコマンドadb install -r -dでアプリを上書きインストールする手順5

(左)アプリバージョン1.10に下がった (右)入力済みメモはそのまま

ここで紹介したadb installオプションの意味です。

オプション 意味
-r データを保持したまま、既存のアプリを再インストールします。
-d バージョン コードのダウングレードを許可します。

参考 Google Developers – Android Debug Bridge

この2オプションのおかげで、既存アプリに対して新・旧どちらのバージョンのapkファイルであっても、データを保持したまま強制的に上書きできます。

なお完璧な方法ではなく、アプリによってはうまくいきません。

例えばLINEアプリのアイコンLINEの場合、adbコマンドのエラーは出ないものの、バージョンダウン後にアプリを起動できなくなりました。

apkを上書きインストールすると起動不可となる説明

LINEの例。インストール自体は完了した一方、起動不可となった。

失敗する場合、既存アプリのデータは端末内に残っているため、PlayストアのアイコンPlayストアで最新バージョンへ更新すれば元に戻せます。

そもそも、かつてのAndroidでは通常、上書きインストールによるバージョン変更も許容されていました。

具体的には、Android 4.1までならアプリアップデート後でも、古いバージョンのapkがあれば(データは保持したまま)上書きインストールが可能です。

ただAndroid 4.2以降では現在の仕様に変更となり、古いバージョンのapkは上書きインストールに失敗するケースがあります。

Android 4.2以降では古いバージョンのapkは上書きインストールに失敗する説明

例えばAndroid上から古いapkのLINEを上書きインストールできない。

どうしてもアプリバージョンを下げたい場合、データは初期化されますが、いったんアンインストールした後、旧バージョンのapkを再インストールする代替策があります。

参考:アプリを自動アップデートする方法

パソコンから導入したアプリであっても、PlayストアアプリのアイコンPlayストアに掲載されていれば、通常の自動更新が適用されます。

提供元不明アプリを自動アップデートする手順

apkから導入したメモ帳アプリも、Google Playで更新できる例。

なおPlayストアアプリのアイコン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_VERIFICATION_FAILURE]の原因と解決策1

解決策として、開発者向けオプションより設定状況をチェックして下さい。

先に USBデバッグ を有効にしないと、 USB経由のアプリを確認 メニューはグレーアウトされて選択できません。

Failure [INSTALL_FAILED_VERIFICATION_FAILURE]の原因と解決策2

Failure [INSTALL_FAILED_ALREADY_EXISTS]

下記エラーが表示される場合、adb installで実行したアプリがすでに端末内で存在しています。

Failure [INSTALL_FAILED_ALREADY_EXISTS]

Failure [INSTALL_FAILED_ALREADY_EXISTS]の原因と解決策

解決策として、既存アプリの再インストールを許容するオプション”-r”を追加した、下記コマンドを実行して下さい。

adb install -r -d <パソコンに保存したapkファイルのパス>

詳細は前パートで解説しています(コチラをタップしてジャンプ)。

Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

下記エラーが表示される場合、adb installで実行したアプリが、すでに端末内で存在しているバージョンより古いのが原因です。

Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

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
error: no devices/emulators foundのエラー

error: no devices/emulators foundの例。

次の2点が原因であるケースが多いので、確認して下さい。

  • AndroidのUSBデバッグを有効にしているか
  • 「このパソコンからのUSBデバッグを常に許可する」にチェックを入れたか

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 shell pm installでapkファイルをインストールする手順1

PCデスクトップに保存しているMemo.apkを送る例。

次に下記adbコマンドで、Androidに移したapkファイルをインストールします。

adb shell pm install /data/local/tmp/<端末に転送したapkファイル名>

adb shell pm installでapkファイルをインストールする手順2

「Success」と表示が出ればOK。

adb shell pm installでapkファイルをインストールする手順3

また既存アプリを強制的に上書きインストールしたい場合、”-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 shell pm installでapkファイルをインストールする手順5

そのため、いったんadb pushで”/data/local/tmp/”へapkファイルを移す作業が必要となります。

パソコンからAndroidアプリをアンインストールする方法

本記事の趣旨とは逆に「パソコンからAndroidのアプリを削除する方法」は、同様にadbコマンドを使って実現できます。

▼通常のアンインストール

adb uninstall <アプリのパッケージ名>
adb uninstallでアプリをアンインストールする説明

通常アプリを削除したいシーンで使う。

▼強制アンインストール

adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
adb shell pm uninstallでアプリを強制削除する説明

プリインストールアプリを削除したいシーンで使う。

詳細は関連記事【adbでAndroidアプリをアンインストールする方法! uninstallコマンドで削除しよう】で解説しています。

adbでAndroidアプリをアンインストールする方法! uninstallコマンドで削除しよう
この記事では、adbコマンドでアプリをアンインストールする方法を解説します。システムアプリを強制的に削除する手順も説明しています。

パソコンから遠隔でAndroidアプリをインストールする方法

PlayストアアプリのアイコンPlayストアで配信されるアプリであれば、同じGoogleアカウントにログインすることで、遠隔からアプリのインストール指示を送ることが可能です。

手順の詳細は関連記事【Androidアプリを遠隔でインストール/アンインストールする方法! パソコンからスマートフォンに導入/削除しよう】で解説しています。

Androidアプリを遠隔でインストール/アンインストールする方法! パソコンからスマートフォンに導入/削除しよう
Androidでは、本体以外のデバイス(例:パソコン / 2台目のスマートフォン)から遠隔でアプリのインストール指示を与えることができます。 そこで本記事では、Androidのアプリを遠隔でインストール / アンインストールする方法をまとめ...

スマートフォン上の操作でapkファイルをインストールする方法

今回はパソコンを使う手順を解説しましたが、端末にapkファイルが保存されていれば、スマートフォン上の操作だけでインストール可能です。

その場合、事前に設定の「提供元不明のアプリ」を許可する必要があります。

Xperia Z3(Android 6.0.1)の場合、「設定」→「セキュリティ」より変更できる。

詳細は関連記事【Androidで提供元不明アプリをインストールする方法! スマホ操作でapkファイルを許可しよう】で解説しています。

Androidで提供元不明アプリをインストールする方法! スマホ操作でapkファイルを許可しよう
この記事では、スマホ上の操作でapkをインストールする方法を解説します。「アプリはインストールされていません」エラーの解決策も説明しています。

 

〆:パソコンからapkを導入しよう!

以上、PCからAndroidにアプリをインストールする方法! ダウンロードしたapkをadb installで上書きしよう の説明でした。

自分で用意したapkファイルをAndroidへインストールしたいシーンで、今回の手順を知ってると便利です。

ただ「既存アプリがある」・「アプリバージョンが変わる」等の原因で、様々なエラーが表示されることもあります。

記事中でそれぞれ留意点を解説しているので、合わせてチェックしてみて下さい。

Android
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

コメント

  1. つばき より:

    adbコマンドを実行するから、コマンドを入力する画面には、どこを開けばいいのでしょうか?お手数お掛け致しますが、教えてください。

    • 匿名 より:

      左下のたんぼ?を右クリックして、Windows Power shell ってやつを選べば使えます(^ν^)(Windows 10 以外でしたらすみません)

    • 匿名 より:

      キーボードのWindowsキーとRを同時押ししてcmdと検索すればできます

タイトルとURLをコピーしました