Android

【簡単】apkファイルを上書きインストールする方法

smartphone_app

Androidアプリを公開した場合、定期的にアプリの更新を行うと思います。

その際は、アプリのアップデートに伴う挙動の確認が必要です。
アップデートをしたらアプリ内のデータが全部消えてしまった!?ということにならないよう、試験で確認をするわけです。
使ってくれているユーザーさんに余計な迷惑をかけてはいけませんからね。

でも、以前のデータを残したまま上書きインストールするにはどうしたらいいのか、よくわからない方もいらっしゃるのではないでしょうか?
私も初めての際はわかりませんでした。

今回は、アプリのインストール周りのことをご説明しようと思います。

アプリを実機にインストールする

アプリを実機にインストールする場合、adbコマンドを使用します。
事前に、実機とPCをusbケーブルで繋いでおいてください。

ターミナルでapkファイルがあるディレクトリへ移動し、以下のコマンドを実行するとインストールできます。

$ adb install xxxx.apk

ディレクトリを移動するのが面倒な場合は、以下のように指定しても大丈夫ですよ。

$ adb install ./hoge/xxxx.apk

インストールに失敗する場合は、実機側でUSBデバックの許可を行う必要があります。
実機側でUSBデバックに関するダイアログが出ている場合は、そちらで許可をしてから再度実行してみてください。

ダイアログが出ていない場合は、「設定」の「開発者向けオプション」から「USBデバック」をONにしてください。
詳しくは以下のサイトを確認してください。
参考:Androidスマホ/タブレットで「開発者向けオプション」をオンにする

アプリを上書きインストール(更新)する

実機にインストールしたアプリを上書き更新する場合は、先ほどのコマンドにオプションを追加します。

$ adb install -r xxxx.apk

オプションとして-rを指定すると、これまでのデータはそのままに、アプリの更新を行うことができます。

ただし、既存のアプリの更新になるので、事前に同名(同じ署名)のアプリがインストールされている必要があります。

アプリをアンインストールする

作業が終わったらアプリをアンインストールする場合が多いと思います。
実機上で直接アンインストールしてもいいのですが、以下のコマンドでも対応できますよ。

$ adb uninstall  com.xxxx.appliname

{com.xxxx.appliname}の部分にはアプリのパッケージ名を指定してください。

アプリのパッケージ名がわからない場合は、以下のコマンドで調べることができます。

$ adb shell pm list packages

パッケージ名の一部だけならわかるという場合は、以下のようにしてフィルターをかけることもできますよ。

$ adb shell pm list packages hoge

また、アプリはアンインストールしたいけど、データやキャッシュのディレクトリは残しておきたい、という場合もあるかもしれません。
その場合は、以下のようにオプションを指定すればOKです。

$  adb uninstall  -k com.xxxx.appliname

終わりに

adbコマンドには他にも色々ありますが、使用頻度の高いものについてはこちらの記事がよくまとまっています。
参考:よく使うadbのコマンド

いきなり覚えるのは難しいかもしれませんが、実際に何度か使用していくと、そのうち覚えられると思います。

オプションを使いこなせるようになって、作業効率の向上を目指しましょう。
以上です。それでは。