Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to attach debugger for Deep Link Android App trigger debug launch?

As per posted in https://developer.android.com/training/app-indexing/deep-linking.html, we could start the deeplink App Launch using the below command

adb shell am start -W -a android.intent.action.VIEW -d "example://gizmos" com.example.android

But if I want to start debugging, I could add a -D, as below

adb shell am start -W -a android.intent.action.VIEW -d "example://gizmos" com.example.android -D

My App got launched, but it is there stating

Waiting For Debugger
Application Android System (process system:ui) is waiting for the debugger to attach

From there, I check my Android Studio, it is not attached. Wonder how could I get it attached?

like image 302
Elye Avatar asked Feb 18 '17 03:02

Elye


2 Answers

there is a great article and a great comment under it.

Briefly:
1. Before the line you want to debug put Debug.waitForDebugger().
2. Put breakpoint where you need it.
3. Run application (from deeplink, in this case).
4. You will see it's frozen.
5. In Android Studio attach debugger to process.
6. Voila! Now you have debugger activated on that breakpoint.

In this way I was able to debug deeplinks.

like image 63
Goltsev Eugene Avatar answered Sep 24 '22 17:09

Goltsev Eugene


You'd either have to manually attach it after launching, or already have the app running and attached then launch your deeplink. There's no way for the phone to know it needs to attach to a debugger on a connected PC when it launches an app.

like image 35
Gabe Sechan Avatar answered Sep 22 '22 17:09

Gabe Sechan