Kann noch besser sein, wenn Sieadb shell dumpsys activity activities
Schlaflosigkeit
3
Das sind gute Infos. Einige Anwendungen verfügen über Popup-Fenster. Wie können Sie feststellen, ob sich oben ein Popup-Fenster befindet?
Empario
199
Ich bevorzuge das Parsen von Ergebnissen von dumpsys window windowsüberdumpsys activity
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
Die Liste der Keyguards oder der letzten Aufgaben wurde früher nicht als Aktivitäten angezeigt, aber Sie konnten sie mit anzeigen mCurrentFocus. Ich habe in dieser Antwort erklärt, warum .
Wenn Sie dies von einem Terminal auf dem Gerät aus tun möchten (z. B. mit Terminal Emulator oder Automagic), dumpsys activity recents | grep "Recent #0"wird die Ausgabezeile mit dem neuesten Aktivitätsnamen angezeigt . (Es muss als root gemacht werden.)
Michael Hoffmann
1
Fehler:find: No such file or directory
IgorGanapolsky
3
Hier ist eine Lösung, die einfacher ist als die Befehlszeilen-ADB-Lösung (die funktioniert). Dies ist einfacher, da es grafischer ist und in Eclipse ausgeführt werden kann.
Gehen Sie in Eclipse mit angeschlossenem Android-Gerät zum Menü Fenster> Ansicht anzeigen> Andere ... verwenden Sie den Filtertext "Windows", um Android> Windows aufzurufen. Zeigen Sie dies an. Das oberste Element in der Liste ist die aktuelle Aktivität.
Eine andere Möglichkeit, dies aufzurufen, besteht darin, die Perspektive "Hierarchieansicht" anzuzeigen, in der standardmäßig das Windows-Fenster angezeigt wird.
Der folgende Befehl kann verwendet werden, um sowohl das Paket als auch den aktuellen Aktivitätsnamen zu finden. Fand diesen sehr nützlichen Befehl, um diese beiden Informationen über eine App schnell abzurufen, insbesondere wenn Sie Tests mit Appium entwickeln.
adb shell dumpsys window windows | grep -E 'mCurrentFocus'
Die Antwort dieses Befehls enthält sowohl den Paketnamen als auch die aktuelle Aktivität. Beispiel: Im Folgenden ist "com.android.contacts" das Paket und "com.android.contacts.activities.TwelveKeyDialer" die aktuelle Aktivität, die auf dem Telefon gestartet wird, das über adb verbunden ist.
this.getClass().getSimpleName()
Antworten:
Sie können diesen Befehl verwenden,
Sie finden den aktuellen Aktivitätsnamen im Aktivitätsstapel.
Ausgabe :-
quelle
adb shell dumpsys activity activities
Ich bevorzuge das Parsen von Ergebnissen von
dumpsys window windows
überdumpsys activity
Die Liste der Keyguards oder der letzten Aufgaben wurde früher nicht als Aktivitäten angezeigt, aber Sie konnten sie mit anzeigen
mCurrentFocus
. Ich habe in dieser Antwort erklärt, warum .quelle
$ adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' mCurrentFocus= mFocusedApp=AppWindowToken{40b11d40 token=HistoryRecord{ }}
Der aktuelle Fokus ist leer. Irgendeine Idee? Mein Gerät ist verbunden, App läuft, es ist 2.3 Gerätadb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'"
dumpsys window windows
gibt mehr Details über die aktuelle Aktivität:Um jedoch die Prozess-ID zu finden (z. B. um die aktuelle Aktivität zu
dumpsys activity
beenden ), verwenden Sie und grep auf "top-activity":quelle
Android Q hat die meisten davon für mich kaputt gemacht. Hier ist eine neue, die zu funktionieren scheint (zumindest unter Android Q).
Die Ausgabe sieht wie folgt aus:
quelle
adb shell 'dumpsys activity activities | grep ResumedActivity'
Das funktioniert bei mir:
adb shell dumpsys activity
Und dies, um den aktuellen Aktivitätsnamen anzuzeigen:
adb shell dumpsys activity activities | grep mFocusedActivity | cut -d . -f 5 | cut -d ' ' -f 1
quelle
Wenn Sie nur die Aktivitäten Ihrer App herausfiltern möchten, die gerade ausgeführt / angehalten werden, können Sie diesen Befehl verwenden:
Beispielsweise:
Die Ausgabe wird ungefähr so aussehen:
Beachten Sie, dass die Ausgabe den tatsächlichen Stapel von Aktivitäten anzeigt, dh die oberste Aktivität ist die aktuell angezeigte.
quelle
Alte Antworten funktionierten in neuen Android-Versionen nicht mehr. Jetzt benutze ich folgendes:
quelle
Sie können diesen Befehl versuchen,
Dort finden Sie den aktuellen Aktivitätsnamen im Aktivitätsstapel.
So erhalten Sie den neuesten Aktivitätsnamen:
quelle
dumpsys activity recents | grep "Recent #0"
wird die Ausgabezeile mit dem neuesten Aktivitätsnamen angezeigt . (Es muss als root gemacht werden.)find: No such file or directory
Hier ist eine Lösung, die einfacher ist als die Befehlszeilen-ADB-Lösung (die funktioniert). Dies ist einfacher, da es grafischer ist und in Eclipse ausgeführt werden kann.
Gehen Sie in Eclipse mit angeschlossenem Android-Gerät zum Menü Fenster> Ansicht anzeigen> Andere ... verwenden Sie den Filtertext "Windows", um Android> Windows aufzurufen. Zeigen Sie dies an. Das oberste Element in der Liste ist die aktuelle Aktivität.
Eine andere Möglichkeit, dies aufzurufen, besteht darin, die Perspektive "Hierarchieansicht" anzuzeigen, in der standardmäßig das Windows-Fenster angezeigt wird.
quelle
Der folgende Befehl kann verwendet werden, um sowohl das Paket als auch den aktuellen Aktivitätsnamen zu finden. Fand diesen sehr nützlichen Befehl, um diese beiden Informationen über eine App schnell abzurufen, insbesondere wenn Sie Tests mit Appium entwickeln.
Die Antwort dieses Befehls enthält sowohl den Paketnamen als auch die aktuelle Aktivität. Beispiel: Im Folgenden ist "com.android.contacts" das Paket und "com.android.contacts.activities.TwelveKeyDialer" die aktuelle Aktivität, die auf dem Telefon gestartet wird, das über adb verbunden ist.
Referenz: http://www.automationtestinghub.com/apppackage-and-appactivity-name/
quelle
In Windows zeigt dieser Befehl den aktuellen Aktivitätsnamen an
Ausgabe:
Andere Lösungen mit "grab" erzeugen Fehler in meinem Windows-PC
Mit "find" können Sie den Fehler in meinem Fall beheben.
quelle