4

Android Studioでインスタントアプリケーションをデバッグすると、デバッガはインスタントアプリケーションプロセスに接続し、ほとんどのブレークポイントで実行を一時停止します。しかし、私の主なアクティビティのonCreateメソッドではブレークポイントを無視するようです。私は "デバッグ"と "デバッガをAndroidプロセスにアタッチ"しようとしました。私は何が欠けていますか?Androidインスタントアプリ:インスタントアプリをデバッグするには?

答えて

9

Androidスタジオデバッガを使用してAndroidアプリをデバッグする方法についての基本情報はDeveloper Documentation Debug Your App です。

Androidスタジオデバッガは、通常、のインスタントアプリをデバッグするときにで動作します。ただし、Android N以下を実行している端末では、アプリのライフサイクルの早い段階(たとえば、Application.onCreateまたはActivity.onCreate)でデバッガがブレークポイントで停止しないことに気づくでしょう。

インスタントアプリが起動して実行中の場合、アプリのパッケージ名で実行されます。

com.google.android.instantapps.supervisor.isolated[0-9]+ 

この一時的な名前は、ランタイムによって割り当てられます。それは次の形式で、一時的なパッケージ名の下で実行する場合ただし、アプリの起動時に時間の短い期間があります。 Android Studioはこの名前を認識しないため、デバッガはこのプロセスにアタッチしません。

この一時的な名前を見つけてadbを使用して、アプリをデバッグするように設定してください。これは、アプリケーションを実行する前に端末で次のコマンドを実行することで実行できます。あなたのアプリが起動すると、その名前が表示されます。

=> adb shell 'while true; do ps | grep com.google.android.instantapps.supervisor.isolated; sleep 1; done' 
u0_i6  31908 630 1121664 29888   0 00ea57eed4 R com.google.android.instantapps.supervisor.isolated15 

パッケージ名を特定したら、次のコマンドを使用して一時的なアプリケーション処理を行い、デバッガを待つようにします。次に、デバッガを通常どおりに接続しますが、[すべてのプロセスを表示]をクリックして[プロセスの選択]ウィンドウで一時的なプロセス名を選択します。

=> adb shell am set-debug-app -w --persistent com.google.android.instantapps.supervisor.isolated15 
+0

私はどのように元に戻すことができますか? – virengujariya

+0

デバッグ状態をクリアするには、adbシェルam clear-debug-app –

関連する問題