Bisa lebih baik jika Anda menggunakanadb shell dumpsys activity activities
insomnia
3
Ini info yang bagus. Beberapa aplikasi memiliki jendela pop-up. Bagaimana Anda bisa tahu jika jendela pop-up ada di atas?
Empario
202
Saya lebih suka hasil parsing dari dumpsys window windowsatasdumpsys activity
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
Pengaman tombol atau daftar tugas terbaru biasanya tidak muncul sebagai aktivitas tetapi Anda dapat melihatnya dengan mCurrentFocus. Saya telah menjelaskan mengapa dalam jawaban ini .
$ adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' mCurrentFocus= mFocusedApp=AppWindowToken{40b11d40 token=HistoryRecord{ }} Fokus saat ini kosong. Ada ide? Perangkat saya terhubung, Aplikasi berjalan, itu adalah perangkat 2.3
Gokhan Arik
1
begitulah cara saya menemukan aplikasi mana yang secara acak menampilkan iklan tanpa izin saya! Terima kasih!
CuongDC
adb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'"
Qamar
3
Ini sepertinya tidak berfungsi pada android 29, karena tidak satu pun dari bidang ini sekarang muncul di jendela dump
James Riordan
22
Android Q memecahkan sebagian besar untuk saya. Ini yang baru yang sepertinya berfungsi (setidaknya di Android Q).
Bagi siapa pun yang ingin melakukan ini dari terminal pada perangkat (yaitu dengan Terminal Emulator atau Automagic), dumpsys activity recents | grep "Recent #0"akan mendapatkan baris keluaran dengan nama aktivitas terbaru. (Itu harus dilakukan sebagai root.)
Michael Hoffmann
1
Kesalahan:find: No such file or directory
IgorGanapolsky
3
Berikut adalah solusi yang lebih mudah daripada solusi adb baris perintah (yang berfungsi). Lebih mudah karena lebih grafis dan dapat dilakukan dari dalam Eclipse.
Di Eclipse dengan perangkat Android terpasang, buka menu Jendela> Tampilkan Tampilan> Lainnya ... gunakan teks filter "Windows" untuk menarik Android> Windows ... tunjukkan ini. Item teratas dalam daftar adalah aktivitas saat ini.
Cara lain untuk menarik ini adalah dengan menunjukkan perspektif "Hierarchy View", yang secara default akan menampilkan jendela Windows.
Perintah di bawah ini dapat digunakan untuk menemukan paket dan nama Aktivitas saat ini. Menemukan perintah yang sangat berguna ini untuk mengambil kedua informasi ini dengan cepat tentang aplikasi, terutama saat mengembangkan pengujian dengan Appium.
adb shell dumpsys window windows | grep -E 'mCurrentFocus'
Respons dari perintah ini berisi nama paket dan Aktivitas saat ini. Misalnya: mengikuti "com.android.contacts" adalah paketnya dan "com.android.contacts.activities.TwelveKeyDialer" adalah Aktivitas saat ini yang diluncurkan di ponsel yang terhubung melalui adb.
this.getClass().getSimpleName()
Jawaban:
Anda dapat menggunakan perintah ini,
Anda dapat menemukan nama aktivitas saat ini di tumpukan aktivitas.
Keluaran: -
Sticky broadcasts: * Sticky action android.intent.action.BATTERY_CHANGED: Intent: act=android.intent.action.BATTERY_CHANGED flg=0x60000000 Bundle[{icon-small=17302169, present=true, scale=100, level=50, technology=Li-ion, status=2, voltage=0, plugged=1, health=2, temperature=0}] * Sticky action android.net.thrott.THROTTLE_ACTION: Intent: act=android.net.thrott.THROTTLE_ACTION Bundle[{level=-1}] * Sticky action android.intent.action.NETWORK_SET_TIMEZONE: Intent: act=android.intent.action.NETWORK_SET_TIMEZONE flg=0x20000000 Bundle[mParcelledData.dataSize=68] * Sticky action android.provider.Telephony.SPN_STRINGS_UPDATED: Intent: act=android.provider.Telephony.SPN_STRINGS_UPDATED flg=0x20000000 Bundle[mParcelledData.dataSize=156] * Sticky action android.net.thrott.POLL_ACTION: Intent: act=android.net.thrott.POLL_ACTION Bundle[{cycleRead=0, cycleStart=1349893800000, cycleEnd=1352572200000, cycleWrite=0}] * Sticky action android.intent.action.SIM_STATE_CHANGED: Intent: act=android.intent.action.SIM_STATE_CHANGED flg=0x20000000 Bundle[mParcelledData.dataSize=116] * Sticky action android.intent.action.SIG_STR: Intent: act=android.intent.action.SIG_STR flg=0x20000000 Bundle[{EvdoSnr=-1, CdmaDbm=-1, GsmBitErrorRate=-1, CdmaEcio=-1, EvdoDbm=-1, GsmSignalStrength=7, EvdoEcio=-1, isGsm=true}] * Sticky action android.intent.action.SERVICE_STATE: Intent: act=android.intent.action.SERVICE_STATE flg=0x20000000 Bundle[{cdmaRoamingIndicator=0, operator-numeric=310260, networkId=0, state=0, emergencyOnly=false, operator-alpha-short=Android, radioTechnology=3, manual=false, cssIndicator=false, operator-alpha-long=Android, systemId=0, roaming=false, cdmaDefaultRoamingIndicator=0}] * Sticky action android.net.conn.CONNECTIVITY_CHANGE: Intent: act=android.net.conn.CONNECTIVITY_CHANGE flg=0x30000000 Bundle[{networkInfo=NetworkInfo: type: mobile[UMTS], state: CONNECTED/CONNECTED, reason: simLoaded, extra: internet, roaming: false, failover: false, isAvailable: true, reason=simLoaded, extraInfo=internet}] * Sticky action android.intent.action.NETWORK_SET_TIME: Intent: act=android.intent.action.NETWORK_SET_TIME flg=0x20000000 Bundle[mParcelledData.dataSize=36] * Sticky action android.media.RINGER_MODE_CHANGED: Intent: act=android.media.RINGER_MODE_CHANGED flg=0x70000000 Bundle[{android.media.EXTRA_RINGER_MODE=2}] * Sticky action android.intent.action.ANY_DATA_STATE: Intent: act=android.intent.action.ANY_DATA_STATE flg=0x20000000 Bundle[{state=CONNECTED, apnType=*, iface=/dev/omap_csmi_tty1, apn=internet, reason=simLoaded}] Activity stack: * TaskRecord{450adb90 #22 A org.chanakyastocktipps.com} clearOnBackground=false numActivities=2 rootWasReset=false affinity=org.chanakyastocktipps.com intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=org.chanakyastocktipps.com/.ui.SplashScreen} realActivity=org.chanakyastocktipps.com/.ui.SplashScreen lastActiveTime=15107753 (inactive for 4879s) * Hist #2: HistoryRecord{450d7ab0 org.chanakyastocktipps.com/.ui.Profile} packageName=org.chanakyastocktipps.com processName=org.chanakyastocktipps.com launchedFromUid=10046 app=ProcessRecord{44fa3450 1065:org.chanakyastocktipps.com/10046} Intent { cmp=org.chanakyastocktipps.com/.ui.Profile } frontOfTask=false task=TaskRecord{450adb90 #22 A org.chanakyastocktipps.com} taskAffinity=org.chanakyastocktipps.com realActivity=org.chanakyastocktipps.com/.ui.Profile base=/data/app/org.chanakyastocktipps.com-1.apk/data/app/org.chanakyastocktipps.com-1.apk data=/data/data/org.chanakyastocktipps.com labelRes=0x7f09000b icon=0x7f020065 theme=0x1030007 stateNotNeeded=false componentSpecified=true isHomeActivity=false configuration={ scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=1 layout=18 uiMode=17 seq=3} resultTo=HistoryRecord{44f523c0 org.chanakyastocktipps.com/.ui.MainScreen} resultWho=null resultCode=4 launchFailed=false haveState=false icicle=null state=RESUMED stopped=false delayedResume=false finishing=false keysPaused=false inHistory=true persistent=false launchMode=0 fullscreen=true visible=true frozenBeforeDestroy=false thumbnailNeeded=false idle=true waitingVisible=false nowVisible=true * Hist #1: HistoryRecord{44f523c0 org.chanakyastocktipps.com/.ui.MainScreen} packageName=org.chanakyastocktipps.com processName=org.chanakyastocktipps.com launchedFromUid=10046 app=ProcessRecord{44fa3450 1065:org.chanakyastocktipps.com/10046} Intent { cmp=org.chanakyastocktipps.com/.ui.MainScreen } frontOfTask=true task=TaskRecord{450adb90 #22 A org.chanakyastocktipps.com} taskAffinity=org.chanakyastocktipps.com realActivity=org.chanakyastocktipps.com/.ui.MainScreen base=/data/app/org.chanakyastocktipps.com-1.apk/data/app/org.chanakyastocktipps.com-1.apk data=/data/data/org.chanakyastocktipps.com labelRes=0x7f09000b icon=0x7f020065 theme=0x1030007 stateNotNeeded=false componentSpecified=true isHomeActivity=false configuration={ scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=1 layout=18 uiMode=17 seq=3} launchFailed=false haveState=true icicle=Bundle[mParcelledData.dataSize=1344] state=STOPPED stopped=true delayedResume=false finishing=false keysPaused=false inHistory=true persistent=false launchMode=0 fullscreen=true visible=false frozenBeforeDestroy=false thumbnailNeeded=false idle=true * TaskRecord{450615a0 #2 A com.android.launcher} clearOnBackground=true numActivities=1 rootWasReset=false affinity=com.android.launcher intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher/com.android.launcher2.Launcher} realActivity=com.android.launcher/com.android.launcher2.Launcher lastActiveTime=12263090 (inactive for 7724s) * Hist #0: HistoryRecord{4505d838 com.android.launcher/com.android.launcher2.Launcher} packageName=com.android.launcher processName=com.android.launcher launchedFromUid=0 app=ProcessRecord{45062558 129:com.android.launcher/10025} Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher/com.android.launcher2.Launcher } frontOfTask=true task=TaskRecord{450615a0 #2 A com.android.launcher} taskAffinity=com.android.launcher realActivity=com.android.launcher/com.android.launcher2.Launcher base=/system/app/Launcher2.apk/system/app/Launcher2.apk data=/data/data/com.android.launcher labelRes=0x7f0c0002 icon=0x7f020044 theme=0x7f0d0000 stateNotNeeded=true componentSpecified=false isHomeActivity=true configuration={ scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=1 layout=18 uiMode=17 seq=3} launchFailed=false haveState=true icicle=Bundle[mParcelledData.dataSize=3608] state=STOPPED stopped=true delayedResume=false finishing=false keysPaused=false inHistory=true persistent=false launchMode=2 fullscreen=true visible=false frozenBeforeDestroy=false thumbnailNeeded=false idle=true Running activities (most recent first): TaskRecord{450adb90 #22 A org.chanakyastocktipps.com} Run #2: HistoryRecord{450d7ab0 org.chanakyastocktipps.com/.ui.Profile} Run #1: HistoryRecord{44f523c0 org.chanakyastocktipps.com/.ui.MainScreen} TaskRecord{450615a0 #2 A com.android.launcher} Run #0: HistoryRecord{4505d838 com.android.launcher/com.android.launcher2.Launcher} mPausingActivity: null mResumedActivity: HistoryRecord{450d7ab0 org.chanakyastocktipps.com/.ui.Profile} mFocusedActivity: HistoryRecord{450d7ab0 org.chanakyastocktipps.com/.ui.Profile} mLastPausedActivity: HistoryRecord{44f523c0 org.chanakyastocktipps.com/.ui.MainScreen} mCurTask: 22 Running processes (most recent first): App #13: adj=vis /F 45052120 119:com.android.inputmethod.latin/10003 (service) com.android.inputmethod.latin.LatinIME<=ProcessRecord{44ec2698 59:system/1000} PERS #12: adj=sys /F 44ec2698 59:system/1000 (fixed) App #11: adj=fore /F 44fa3450 1065:org.chanakyastocktipps.com/10046 (top-activity) App #10: adj=bak /B 44e7c4c0 299:com.svox.pico/10028 (bg-empty) App # 9: adj=bak+1/B 450f7ef0 288:com.dreamreminder.org:feather_system_receiver/10057 (bg-empty) App # 8: adj=bak+2/B 4503cc38 201:com.android.defcontainer/10010 (bg-empty) App # 7: adj=home /B 45062558 129:com.android.launcher/10025 (home) App # 6: adj=bak+3/B 450244d8 276:android.process.media/10002 (bg-empty) App # 5: adj=bak+4/B 44f2b9b8 263:com.android.quicksearchbox/10012 (bg-empty) App # 4: adj=bak+5/B 450beec0 257:com.android.protips/10007 (bg-empty) App # 3: adj=bak+6/B 44ff37b8 270:com.android.music/10022 (bg-empty) PERS # 2: adj=core /F 45056818 124:com.android.phone/1001 (fixed) App # 1: adj=bak+7/B 45080c38 238:com.dreamreminder.org/10057 (bg-empty) App # 0: adj=empty/B 4507d030 229:com.android.email/10030 (bg-empty) PID mappings: PID #59: ProcessRecord{44ec2698 59:system/1000} PID #119: ProcessRecord{45052120 119:com.android.inputmethod.latin/10003} PID #124: ProcessRecord{45056818 124:com.android.phone/1001} PID #129: ProcessRecord{45062558 129:com.android.launcher/10025} PID #201: ProcessRecord{4503cc38 201:com.android.defcontainer/10010} PID #229: ProcessRecord{4507d030 229:com.android.email/10030} PID #238: ProcessRecord{45080c38 238:com.dreamreminder.org/10057} PID #257: ProcessRecord{450beec0 257:com.android.protips/10007} PID #263: ProcessRecord{44f2b9b8 263:com.android.quicksearchbox/10012} PID #270: ProcessRecord{44ff37b8 270:com.android.music/10022} PID #276: ProcessRecord{450244d8 276:android.process.media/10002} PID #288: ProcessRecord{450f7ef0 288:com.dreamreminder.org:feather_system_receiver/10057} PID #299: ProcessRecord{44e7c4c0 299:com.svox.pico/10028} PID #1065: ProcessRecord{44fa3450 1065:org.chanakyastocktipps.com/10046} mHomeProcess: ProcessRecord{45062558 129:com.android.launcher/10025} mConfiguration: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=1 layout=18 uiMode=17 seq=3} mConfigWillChange: false mSleeping=false mShuttingDown=false
sumber
adb shell dumpsys activity activities
Saya lebih suka hasil parsing dari
dumpsys window windows
atasdumpsys activity
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
Pengaman tombol atau daftar tugas terbaru biasanya tidak muncul sebagai aktivitas tetapi Anda dapat melihatnya dengan
mCurrentFocus
. Saya telah menjelaskan mengapa dalam jawaban ini .sumber
$ adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' mCurrentFocus= mFocusedApp=AppWindowToken{40b11d40 token=HistoryRecord{ }}
Fokus saat ini kosong. Ada ide? Perangkat saya terhubung, Aplikasi berjalan, itu adalah perangkat 2.3adb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'"
Android Q memecahkan sebagian besar untuk saya. Ini yang baru yang sepertinya berfungsi (setidaknya di Android Q).
adb shell "dumpsys activity activities | grep mResumedActivity"
Outputnya terlihat seperti:
mResumedActivity: ActivityRecord{7f6df99 u0 com.sample.app/.feature.SampleActivity t92}
Sunting: Bekerja di Android R untuk saya juga
sumber
adb shell 'dumpsys activity activities | grep ResumedActivity'
dumpsys window windows
memberikan detail lebih lanjut tentang aktivitas saat ini:adb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'" mCurrentFocus=Window{41d2c970 u0 com.android.launcher/com.android.launcher2.Launcher} mFocusedApp=AppWindowToken{4203c170 token=Token{41b77280 ActivityRecord{41b77a28 u0 com.android.launcher/com.android.launcher2.Launcher t3}}}
Namun untuk menemukan ID proses (mis. Untuk mematikan aktivitas saat ini), gunakan
dumpsys activity
, dan grep pada "aktivitas teratas":adb shell "dumpsys activity | grep top-activity" Proc # 0: fore F/A/T trm: 0 3074:com.android.launcher/u0a8 (top-activity) adb shell "kill 3074"
sumber
Ini bekerja untuk saya:
adb shell dumpsys activity
Dan ini untuk menunjukkan nama aktivitas saat ini:
adb shell dumpsys activity activities | grep mFocusedActivity | cut -d . -f 5 | cut -d ' ' -f 1
sumber
Jika Anda hanya ingin memfilter aktivitas aplikasi yang saat ini berjalan / dijeda, Anda dapat menggunakan perintah ini:
adb shell dumpsys activity activities | grep 'Hist #' | grep 'YOUR_PACKAGE_NAME'
Sebagai contoh:
adb shell dumpsys activity activities | grep 'Hist #' | grep 'com.supercell.clashroyale'
Outputnya akan seperti ini:
* Hist #2: ActivityRecord{26ba44b u10 com.supercell.clashroyale/StartActivity t27770} * Hist #1: ActivityRecord{2f3a0236 u10 com.supercell.clashroyale/SomeActivity t27770} * Hist #0: ActivityRecord{20bbb4ae u10 com.supercell.clashroyale/OtherActivity t27770}
Perhatikan bahwa output menunjukkan tumpukan aktivitas yang sebenarnya, yaitu aktivitas teratas adalah aktivitas yang sedang ditampilkan.
sumber
Jawaban lama berhenti berfungsi di versi Android baru. Sekarang saya menggunakan yang berikut:
adb shell "dumpsys activity activities | grep ResumedActivity"
sumber
adb shell dumpsys activity | grep "mCurrentFocus"
untuk android 10Anda dapat mencoba perintah ini,
Di sana Anda dapat menemukan nama aktivitas saat ini di tumpukan aktivitas.
Untuk mendapatkan nama aktivitas terbaru:
adb shell dumpsys activity recents | find "Recent #0"
sumber
dumpsys activity recents | grep "Recent #0"
akan mendapatkan baris keluaran dengan nama aktivitas terbaru. (Itu harus dilakukan sebagai root.)find: No such file or directory
Berikut adalah solusi yang lebih mudah daripada solusi adb baris perintah (yang berfungsi). Lebih mudah karena lebih grafis dan dapat dilakukan dari dalam Eclipse.
Di Eclipse dengan perangkat Android terpasang, buka menu Jendela> Tampilkan Tampilan> Lainnya ... gunakan teks filter "Windows" untuk menarik Android> Windows ... tunjukkan ini. Item teratas dalam daftar adalah aktivitas saat ini.
Cara lain untuk menarik ini adalah dengan menunjukkan perspektif "Hierarchy View", yang secara default akan menampilkan jendela Windows.
sumber
Perintah di bawah ini dapat digunakan untuk menemukan paket dan nama Aktivitas saat ini. Menemukan perintah yang sangat berguna ini untuk mengambil kedua informasi ini dengan cepat tentang aplikasi, terutama saat mengembangkan pengujian dengan Appium.
adb shell dumpsys window windows | grep -E 'mCurrentFocus'
Respons dari perintah ini berisi nama paket dan Aktivitas saat ini. Misalnya: mengikuti "com.android.contacts" adalah paketnya dan "com.android.contacts.activities.TwelveKeyDialer" adalah Aktivitas saat ini yang diluncurkan di ponsel yang terhubung melalui adb.
mCurrentFocus=Window{2089af8 u0 com.android.contacts/com.android.contacts.activities.TwelveKeyDialer}
Referensi: http://www.automationtestinghub.com/apppackage-and-appactivity-name/
sumber
Di windows, perintah ini berfungsi untuk menampilkan nama aktivitas saat ini
adb shell dumpsys window windows | find "mCurrentFocus"
Keluaran:
mCurrentFocus=Window{a43a55b u0 com.android.contacts/com.android.contacts.activities.TwelveKeyDialer}
Solusi lain dengan "ambil" menghasilkan kesalahan di pc windows saya
'grep' is not recognized as an internal or external command, operable program or batch file.
Jadi, menggunakan "temukan" memecahkan kesalahan dalam kasus saya.
sumber