Androidスタジオを3.5に更新して以来、複数の物理電話(Redmi Note 4およびOnePlus6)でアプリを実行できませんでした。アプリはそれらのいずれにもインストールされていません。ただし、それぞれ同じバージョン (Android 24 および Android 28) のエミュレートされたデバイスにインストールされるため、コードの問題ではありません。
さらに、Git に保存されている以前のバージョンのアプリをビルドしようとしましたが、Android Studio は「リンク エラー」を示すアプリをビルドしません。その同じコード バージョンは、数か月前 (Android Studio の更新前) に正常に動作していました。そのため、問題はコードではなくAndroid Studioにあると思います...
私が試したこと
Instant Run を無効にする (Android Studio >=3.5.1 ではオプションではなくなりました)
USBデバッグを有効にし、「デバイスの充電」モードではなく「ファイルの転送」モードを使用してデバイスを使用して接続します
MIUI最適化をオフにして再起動する
アプリをアンインストールして再インストールする
apk をビルドし、apk をデバイスに転送してからインストールを試みます (これは OnePlus 6 では機能しますが、Redmi Note 4 では機能しません)。
私が試したアプリは Sdk >=27 を対象としており、androidx を使用しています。ただし、androidx を使用していない (そして従来のサポート ライブラリを使用していた) 以前のバージョンのアプリに戻そうとしましたが、それでも同じエラーが発生しました。
私のシステムは Ubuntu 18.04 で、現在の Android スタジオのバージョンは 3.5.3 です。
私が得ているエラーは次のとおりです。
- INSTALL_FAILED_USER_RESTRICTED
- デバイスが見つかりません
更新: - OnePlus6 にインストールしようとしましたが、そこにもインストールされません。以前は Redmi Note 4 のみをテストしていました。-これは、少なくともRedmi Note 4の場合、プロジェクト全体で発生しています。同じ/類似の問題のコースプロジェクトの1つでこれを試しました。
私の推測では、Android Studio の更新と、「レガシー」サポート ライブラリからの androidx への最近の移行の問題です。