トラブル解決公開日: 約 4 分で読めます

adb install のエラー一覧: INSTALL_FAILED の意味と対処法

adb install のエラーコードごとに意味と対処法を解説します。INSTALL_FAILED_VERSION_DOWNGRADE、UPDATE_INCOMPATIBLE、NO_MATCHING_ABIS、USER_RESTRICTED、分割 APK まで網羅しています。

adb install app.apk の結果は、Success か Failure [コード: メッセージ] のどちらかです。このコードを見れば、何が問題なのかが正確に分かります。ここでは、よく出会うコードの意味と、それぞれの対処法を紹介します。

早見表

コード意味対処法
INSTALL_FAILED_ALREADY_EXISTSアプリがすでにインストールされているadb install -r app.apk
INSTALL_FAILED_VERSION_DOWNGRADEインストール済みのアプリよりバージョンコードが低いadb install -r -d app.apk、または先にアンインストール
INSTALL_FAILED_UPDATE_INCOMPATIBLEパッケージ名は同じだが署名鍵が違うインストール済みのアプリを先にアンインストール
INSTALL_PARSE_FAILED_NO_CERTIFICATESAPK が署名されていない署名する、または署名済みの debug / release APK をビルドする
INSTALL_FAILED_NO_MATCHING_ABISネイティブコードの CPU の種類が違うスマホの ABI 向けにビルドされた APK を使う
INSTALL_FAILED_OLDER_SDKスマホの Android が古すぎるminSdkVersion が低いビルドを使う
INSTALL_FAILED_TEST_ONLYAPK に testOnly が付いているadb install -t app.apk
INSTALL_FAILED_INSUFFICIENT_STORAGE空き容量が足りないストレージを空ける
INSTALL_FAILED_USER_RESTRICTEDスマホがインストールをブロックしたUSB 経由のインストールを許可し、スマホで確認する
INSTALL_FAILED_MISSING_SPLIT分割 APK の一部が足りないすべてのファイルをまとめてインストール

よくあるエラーの詳細

UPDATE_INCOMPATIBLE: 署名が一致しない

同じパッケージ名のアプリが、別の鍵で署名された状態ですでにインストールされています。たとえば、テスト中のアプリの Play ストア版が入っている場合です。Android はそのアプリのデータを守るため、上書きを許可しません。

adb uninstall com.example.app
adb install app.apk

アンインストールすると、スマホ上のそのアプリのデータは削除されます。

VERSION_DOWNGRADE

新しいビルドの上に古いビルドを入れようとしています。-d で許可できます。

adb install -r -d app.apk

最近の Android では、これが使えるのはデバッグ可能なビルドだけです。それ以外の場合は先にアンインストールしてください。

NO_MATCHING_ABIS

APK に含まれるネイティブライブラリが、スマホのプロセッサに対応していません。たとえば ARM のスマホに x86_64 専用のビルドを入れようとした場合や、32 ビットの Android で動くスマホやテレビに arm64-v8a 専用のビルドを入れようとした場合です。スマホが対応している ABI を確認します。

adb shell getprop ro.product.cpu.abilist

そのうえで、対応するバリアントかユニバーサル APK をビルドまたはダウンロードしてください。

USER_RESTRICTED

スマホがインストールを拒否しました。Xiaomi、Redmi、POCO では、開発者向けオプションで USB 経由でインストール をオンにし、スマホに表示される確認画面で インストール をタップしてください。詳しくは Xiaomi の USB デバッグとセキュリティ設定 をご覧ください。仕事用プロファイルやペアレンタル コントロールがインストールをブロックすることもあります。

分割 APK と App Bundle

Android App Bundle から配布されるアプリは、複数の APK ファイル(ベースと分割ファイル)で構成されています。まとめて一度にインストールします。

adb install-multiple base.apk split_config.arm64_v8a.apk split_config.en.apk

.aab ファイルは直接インストールできません。先に bundletool で APK を生成してください。

Play プロテクトがインストールをブロックする

Google Play プロテクトが不明なアプリについて警告し、インストールが止まることがあります。スマホの画面を確認し、その APK を信頼できる場合にだけインストールを続けてください。

ブラウザから APK をインストールする

ADBKit の Install APK パネルは、スマホ上で同じインストールを実行し、失敗時のコードも分かりやすい言葉で結果を表示します。インストール済みのアプリを更新するには Replace existing app にチェックを入れます(-r と同じです)。USB でも、ADBKit エージェントを使った Wi-Fi でも使え、APK はパソコンから直接スマホに送られます。

インストールについて詳しくは ADB で APK をインストールする方法 をご覧ください。