昨日からアプリは完全に実行されてAndroid Studio
いましたが、今日、自分がアプリで作業を開始して実行すると、エラーメッセージが継続的に表示されます
「セッションを確立できませんでした」というメッセージが表示されてインストールが失敗しました
画面:
OKをクリックするとエラーメッセージが表示されます
セッション「アプリ」:APKのインストールエラー
そして、アプリはデバイスに存在しません(すでにアンインストールされています)。何をすべきか私に提案してください?
昨日からアプリは完全に実行されてAndroid Studio
いましたが、今日、自分がアプリで作業を開始して実行すると、エラーメッセージが継続的に表示されます
「セッションを確立できませんでした」というメッセージが表示されてインストールが失敗しました
画面:
OKをクリックするとエラーメッセージが表示されます
セッション「アプリ」:APKのインストールエラー
そして、アプリはデバイスに存在しません(すでにアンインストールされています)。何をすべきか私に提案してください?
回答:
この問題でも、インスタントランのバグが見つかりました。インスタントランを無効にしてアプリを再度実行すると、アプリはエラーウィンドウを表示せずにデバイスへのインストールを正常に開始します。グーグルがすぐにこれらの問題をインスタント実行で整理してくれることを願っています。
Android StudioからInstant Runを無効にする手順:
ファイル > 設定 > ビルド、実行、展開 > インスタントラン > オフ (インスタントランを有効にしてコードをホットスワップする)
MIUI ROMを使用する場合
開発者オプションに移動して、MIUI最適化を無効にします。電話を再起動するように求められます。再起動してアプリを実行します。
あなたのAPK
ファイルがありません。したがって、プロジェクトの >>
ビルドAPKを クリーンアッププロジェクトを>>
実行します。
Xiaomi電話を使用している人のために、次の手順に従ってください:
設定->追加設定->開発者向けオプション
MIUI最適化をオフにして、電話を再起動します
最後の無効化USB経由のアプリの確認
デバイスは正しく応答します。
USB経由のインストールも有効にする
XiaomiのMi5およびMi4電話を使用してアプリをテストしようとしたときに、Android Studio 2.3でも同じ問題が発生しました。インスタントランを無効にしても、役に立ちませんでした。これが私がしたことです。
Turn Off MIUI optimization in the Developer Options in the phone.
その後、デバイスが再起動され、電話でアプリをテストできるようになります。
この方法を使用しても、Android Studioでインスタント実行オプションを使用できます。したがって、これは少なくとも一時的に問題を解決します。近い将来のアップデートでMIUI最適化を使用できることを願っています:)
ついに解決しました!
一時的な解決策の下。問題はGoogleに報告されました。
まず、実行ログでAndroid Studion 2.3が次のように多くのスライスからapp-debug.apkをインストールしようとしたことがわかりました。
$ adb install-multiple -r E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_1.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ dep \ dependencies.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_0.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_2.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_9.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_4。 apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_3.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_5.apk E :\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_8.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_7.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_6.apk E:\ Android_Projects \ ActivityLifecycle \ app \ build \ outputs \ apk \ app-debug.apk
それから私はapp-debug.apk
コマンドラインからのみインストールしようとしました:
adb install -d E:\ Android_Projects \ ActivityLifecycle \ app \ build \ outputs \ apk \ app-debug.apk
アプリは正常にインストールされましたが、私の電話で実行できませんでした。
そして最後に:
app-debug.apk
はコマンドラインから次のように再コンパイルしました:gradlew.bat AssembleDebug
app-debug.apk
コマンドラインからのインストールを繰り返して満足しました:adb install -rd E:\ Android_Projects \ ActivityLifecycle \ app \ build \ outputs \ apk \ app-debug.apk
これは間違いなくいくつかのgradle
問題ですAndroidStudio 2.3
。
私の場合、それは非常にばかげて面白い間違いでした。偶然にも、実際には知らずに「Android Debug Bridge、Use libUsb backend」をチェックしました。実際にはチェックされていないはずです。
**** MAC OSX / Windowsの場合 ****
後藤*
Android Studio-環境設定(OSXの場合)
Android Studio-ファイル->設定(Windowsの場合)
ビルド、実行、展開-即時実行
MIUIでも同じ問題が発生しました。OEMロック解除を有効にすると、MIUI最適化を無効にすることなく機能しました。
以下は、私のRedmi 3sプライム開発者オプション設定のスクリーンショットです。
次の手順を実行してください...
ビルド>クリーンプロジェクト
そのRunプロジェクトの後で、これは私のために働いた
私は解決策が
settings>build,execute,deployment>instant run>Enable instant run to hot swap code /resource change on deploy(unchecked this option)
これは3.4 Android Studioでも動作します。ありがとう
設定でインスタント実行を無効にしてみてください。
プロジェクト名、applicationid、Javaファイルを含むフォルダーをグローバルに変更した後も問題が発生しました。
インスタント実行を無効にすることは役立ちましたが、良いオプションではなかったので、これは役に立ちました:
rm -Rf .gradle .tags local.properties .idea/workspace.xml .idea/caches/* .idea/libraries app/build
であなたapplicationId
を変えるandroid/app/build.gradle
ファイルます。
例えば:
// Change this
applicationId "com.example.myAndroidApp"
//
// to this
applicationId "com.example.somethingElse"
次に、gradleを同期すると、アプリをインストールできます。以前のapplicationIdが製品IDの場合は、以前のIDを再度変更して、デバイスがアプリをインストールできるようにします。
これがあなたに役立つことを願っています...
プロジェクトでフォルダの名前を変更すると、このようなエラーが発生しました。
インスタンス実行の無効化は役立ちましたが、無効にする必要がない場合はどうなりますか?
ファイルmyproject \ app \ build \ intermediates \ restart-dex \ debug \ build-info.xmlから古いフォルダ名を示すすべてのタグを削除しました
エラーは解消されました。
アプリがホーム画面に表示されないことがあるので、設定->アプリ->の順に移動してアプリを確認し、アプリ設定からアンインストールするとこの問題が解決する場合があります。
これが私の解決策です(インスタントランを非アクティブにする必要はありません)これらのすべての手順を記載された順序で実行してください:
1- Gradleビルド(ルートレベル)
2-Gradleビルド+クリーン(アプリレベル)
3-上部バーでアプリを選択します(Run 'app'の左側)
4-クリーンプロジェクト:
[ビルド]> [プロジェクトのクリーン]に移動します
そして今、それはうまくいくはずです!次の手順を実行する場合は、インスタントランを無効にしないでください。
私の場合、Instant Runは、データパーティションが小さいためにINSUFFICIENT_SPACEであった問題の本当の原因を隠し、「セッションの確立に失敗しました」エラーも発生しました。Instant Runを無効にした後、実際の問題が明らかになり、それを修正してInstant Runを有効にした後、機能しました。
USBデバッグに移動してMIUI検査を無効にし、電話を再起動します。ここからは大丈夫