Добавить отладчик в Android Studio после закрытия приложения?

Можно ли снова подключить Android debugger к Android Studio, чтобы проверить Break point после того, как приложение было закрыто?

0
0
728
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете подключить отладчик, если процесс приложения невидим, но все еще жив. Если процесс завершен или нет, зависит от ОС Android.

Однако вы не сможете «проверить» точку останова, поскольку точка останова работает только в том случае, если код, содержащийся в точке останова, выполняется. Таким образом, точки останова работают только в интерактивном режиме - если вы подключаетесь к процессу после того, как точка останова была передана, невозможно извлечь информацию о состоянии процесса (переменные, ..) в то время, когда точка останова была передана, потому что она больше не доступна.

Я добавил точку останова в свою службу прослушивания Firebase (когда я получаю push-уведомление и мое приложение закрывается)

Sudhanshu Gaur 09.05.2018 19:09

@Sudhanshu Gaur Хорошо, тогда ваш настоящий вопрос, верно? Как отлаживать службу Android? См. Также Точки останова не работают с сервисом в Android

Robert 09.05.2018 19:42

Я попробовал вашу ссылку выше с параметром sync, но дело в том, что мой класс обслуживания - это MyFcmListener Service, поэтому эта служба будет работать только в течение миллисекунд, и из-за чего, когда я присоединю свой процесс в отладке, эта служба не будет отображаться.

Sudhanshu Gaur 09.05.2018 21:17

@Sudhanshu Gaur: Тогда попробуйте waitForDebugger и / или другие способы отложить обслуживание, чтобы вы могли подключиться. Или используйте старую добрую отладку Log (распечатайте все, что вы, возможно, захотите знать, и каждую ветку).

Robert 10.05.2018 18:41
waitForDebugger работал. В прошлый раз я делал что-то не так. Спасибо :)
Sudhanshu Gaur 10.05.2018 19:06

Вероятно, вы пытаетесь открыть приложение из уведомления или службы, когда ваше приложение закрыто или было удалено из фонового режима системой Android.

Вот хороший способ обхода этого.

Создайте новый класс с именем Notification.class и расширите до него класс Application, как показано ниже.

package com.example.app;

import android.app.Application;

public class Notification extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

    }
}

После этого в вашем файле AndroidManifest.xml внесите следующие изменения.

<application
    android:name = ".NotificationClass"
    .
    .  
    android:usesCleartextTraffic = "true">
</application>

После этого всякий раз, когда вы получаете уведомление для своего приложения, а ваше приложение не находится в фоновом или переднем плане, вы сможете подключить отладчик из Android Studio, прежде чем нажимать на уведомление.

Надеюсь, поможет. :)

Другие вопросы по теме