- 1.基础语法
- 2.[options] -p
- 3.[options] -v
- 4.[options] -s
- 5.[options] —throttle
- 6.[options] —pct-touch
- 7.[options] —pct-motion
- 8.[options] —pct-trackball
- 9.[options] —other
- 10.[options] —ignore-other
- 11.[options] —monitor-native-crashes
- 12.[options] —kill-process-after-error
- 13.[options] —hprof
- 14.[options] —bugreport
- 15.完整命令
- 16.报告
- 17.报告分析
monkey 是一个运行在模拟器或者Android设备中可以产生类似用户点击、触摸、手势以及一些系统级的伪随机事件流的程序。我们可以通过命令让monkey向模拟器或者Android设备发送伪随机事件流来对我们开发的App进行压力测试。
1.基础语法
adb shell monkey [options] <event-count>
#<event-count> 发送的次数
#[options] 参数项
2.[options] -p
# -p 指定包名(可指定多个)
adb shell monkey -p package.name 500
adb shell monkey -p package.name1 -p package.name2 500
3.[options] -v
# Level 0 提供少量信息:启动通知,测试完成,最终结果。-v(默认)
# Level 1 提供详细信息:测试运行,如个别事件被发送到您的Activity。 -v -v
# Level 2 提供更详细信息:设置等信息如Activity选中或未选中的测试信息。 -v -v -v
adb shell monkey -p package.name -v -v -v 5
bash arg: -p
bash arg: com.autonavi.amapauto
bash arg: -v
bash arg: 5
args: [-p, com.autonavi.amapauto, -v, 5]
arg: "-p"
arg: "com.autonavi.amapauto"
arg: "-v"
arg: "5"
data="com.autonavi.amapauto"
:Monkey: seed=1668841246615 count=5
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// activityResuming(com.autonavi.amapauto)
:Sending Touch (ACTION_DOWN): 0:(483.0,1345.0)
:Sending Touch (ACTION_UP): 0:(500.73587,1337.1675)
Events injected: 5
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=73ms (0ms mobile, 0ms wifi, 73ms not connected)
// Monkey finished
bash arg: -p
bash arg: com.autonavi.amapauto
bash arg: -v
bash arg: -v
bash arg: 5
args: [-p, com.autonavi.amapauto, -v, -v, 5]
arg: "-p"
arg: "com.autonavi.amapauto"
arg: "-v"
arg: "-v"
arg: "5"
data="com.autonavi.amapauto"
:Monkey: seed=1668785233885 count=5
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Selecting main activities from category android.intent.category.LAUNCHER
// + Using main activity com.autonavi.auto.remote.fill.UsbFillActivity (from package com.autonavi.amapauto)
// Selecting main activities from category android.intent.category.MONKEY
// Seeded: 1668785233885
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(605.0,1393.0)
:Sending Touch (ACTION_UP): 0:(593.0216,1383.3439)
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 21 // KEYCODE_DPAD_LEFT
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// activityResuming(com.autonavi.amapauto)
:Sending Key (ACTION_UP): 21 // KEYCODE_DPAD_LEFT
Events injected: 5
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=64ms (0ms mobile, 0ms wifi, 64ms not connected)
// Monkey finished
bash arg: -p
bash arg: com.autonavi.amapauto
bash arg: -v
bash arg: -v
bash arg: -v
bash arg: 5
args: [-p, com.autonavi.amapauto, -v, -v, -v, 5]
arg: "-p"
arg: "com.autonavi.amapauto"
arg: "-v"
arg: "-v"
arg: "-v"
arg: "5"
data="com.autonavi.amapauto"
:Monkey: seed=1668964527417 count=5
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Selecting main activities from category android.intent.category.LAUNCHER
// - NOT USING main activity com.android.browser.BrowserActivity (from package com.android.browser)
// - NOT USING main activity com.android.calendar.homepage.AllInOneActivity (from package com.android.calendar)
// - NOT USING main activity com.android.camera.Camera (from package com.android.camera)
// - NOT USING main activity com.android.contacts.activities.PeopleActivity (from package com.android.contacts)
// - NOT USING main activity com.android.contacts.activities.TwelveKeyDialer (from package com.android.contacts)
// - NOT USING main activity com.android.deskclock.DeskClockTabActivity (from package com.android.deskclock)
// - NOT USING main activity com.android.fileexplorer.FileExplorerTabActivity (from package com.android.fileexplorer)
// - NOT USING main activity com.android.mms.ui.MmsTabActivity (from package com.android.mms)
// - NOT USING main activity com.android.settings.MainSettings (from package com.android.settings)
// - NOT USING main activity com.android.soundrecorder.SoundRecorder (from package com.android.soundrecorder)
// - NOT USING main activity com.android.thememanager.business.startup.view.StartupActivity (from package com.android.thememanager)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.gallery.activity.HomePageActivity (from package com.miui.gallery)
// - NOT USING main activity com.xiaomi.market.ui.MarketTabActivity (from package com.xiaomi.market)
// - NOT USING main activity com.android.email.activity.Welcome (from package com.android.email)
// + Using main activity com.autonavi.auto.remote.fill.UsbFillActivity (from package com.autonavi.amapauto)
// - NOT USING main activity com.miui.calculator.cal.CalculatorActivity (from package com.miui.calculator)
// - NOT USING main activity com.miui.notes.ui.NotesListActivity (from package com.miui.notes)
// - NOT USING main activity com.miui.weather2.ActivityWeatherMain (from package com.miui.weather2)
// - NOT USING main activity com.sohu.inputmethod.sogou.SogouIMELauncher (from package com.sohu.inputmethod.sogou)
// - NOT USING main activity com.xiaomi.scanner.app.ScanActivity (from package com.xiaomi.scanner)
// - NOT USING main activity net.dinglisch.android.taskerm.Tasker (from package net.dinglisch.android.taskerm)
// - NOT USING main activity com.android.providers.downloads.ui.DownloadList (from package com.android.providers.downloads.ui)
// - NOT USING main activity com.miui.bugreport.ui.MainTabActivity (from package com.miui.bugreport)
// - NOT USING main activity com.miui.player.ui.MusicBrowserActivity (from package com.miui.player)
// - NOT USING main activity com.miui.securityscan.MainActivity (from package com.miui.securitycenter)
// - NOT USING main activity com.miui.video.HomeActivity (from package com.miui.video)
// - NOT USING main activity com.xiaomi.voiceassistant.LauncherRouterActivity (from package com.miui.voiceassist)
// - NOT USING main activity com.xiaomi.vipaccount.ui.monkeyentry.MonkeyActivity (from package com.xiaomi.vipaccount)
// - NOT USING main activity com.autonavi.amapauto.autolink.MainActivity (from package amapauto.autonavi.com.wifidirectlinktest)
// - NOT USING main activity cn.wps.moffice.documentmanager.PreStartActivity (from package cn.wps.moffice_eng)
// - NOT USING main activity com.alibaba.android.rimet.biz.LaunchHomeActivity (from package com.alibaba.android.rimet.aliding)
// - NOT USING main activity com.aliwork.alilang.activity.SplashActivity (from package com.alibaba.android.security.activity)
// - NOT USING main activity com.amap.mockgps.activity.MockGpsProviderActivity (from package com.amap.mockgps)
// - NOT USING main activity com.amap.qahome.MainActivity (from package com.amap.qahome)
// - NOT USING main activity com.alipay.hulu.activity.SplashActivity (from package com.amapauto.autohelper)
// - NOT USING main activity com.alipay.hulu.activity.SplashActivity (from package com.autonavi.amapauto.autohelper)
// - NOT USING main activity jp.co.cyberagent.stf.IdentityActivity (from package com.autonavi.arc.jarvis)
// - NOT USING main activity com.autonavi.autohelper.MainActivity (from package com.autonavi.autohelper)
// - NOT USING main activity com.autonavi.diagnose.MainActivity (from package com.autonavi.diagnose)
// - NOT USING main activity com.autonavi.gaode.editfuncconfig.MainActivity (from package com.autonavi.gaode.editfuncconfig)
// - NOT USING main activity com.autonavi.map.activity.SplashActivity (from package com.autonavi.minimap)
// - NOT USING main activity com.autonavi.mockgps.app.MainActivity (from package com.autonavi.mockgps)
// - NOT USING main activity com.autonavi.recoveryadb.MainActivity (from package com.autonavi.recoveryadb)
// - NOT USING main activity com.duokan.reader.DkReaderActivity (from package com.duokan.reader)
// - NOT USING main activity com.eg.android.AlipayGphone.AlipayLogin (from package com.eg.android.AlipayGphone)
// - NOT USING main activity com.github.uiautomator.MainActivity (from package com.github.uiautomator)
// - NOT USING main activity com.miui.compass.CompassActivity (from package com.miui.compass)
// - NOT USING main activity com.miui.screenrecorder.activity.ScreenRecorderHomeActivity (from package com.miui.screenrecorder)
// - NOT USING main activity com.miui.virtualsim.ui.MainActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.mnu.partitionFiller.mainActivity (from package com.mnu.partitionFiller)
// - NOT USING main activity com.mocyx.basic_client.MainActivity (from package com.mocyx.basic_client)
// - NOT USING main activity com.netease.nie.yosemite.MainActivity (from package com.netease.nie.yosemite)
// - NOT USING main activity com.taobao.tao.welcome.Welcome (from package com.taobao.taobao)
// - NOT USING main activity com.tencent.mm.ui.LauncherUI (from package com.tencent.mm)
// - NOT USING main activity com.xiaomi.gamecenter.ui.MainTabActivity (from package com.xiaomi.gamecenter)
// - NOT USING main activity com.xiaomi.mico.splash.SplashActivity (from package com.xiaomi.mico)
// - NOT USING main activity com.xiaomi.shop.activity.MainTabActivity (from package com.xiaomi.shop)
// - NOT USING main activity io.appium.settings.Settings (from package io.appium.settings)
// - NOT USING main activity make.more.r2d2.cellular_z.activity.SplashGMActivity (from package make.more.r2d2.cellular_z)
// - NOT USING main activity com.joaomgcd.taskerm.util.ActivitySecondaryApp (from package net.dinglisch.android.taskerm)
// Selecting main activities from category android.intent.category.MONKEY
// - NOT USING main activity com.android.quicksearchbox.SearchActivity (from package com.android.quicksearchbox)
// - NOT USING main activity com.android.settings.Settings$RunningServicesActivity (from package com.android.settings)
// - NOT USING main activity com.android.settings.Settings$StorageUseActivity (from package com.android.settings)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.cloudbackup.ui.CloudBackupDetailActivity (from package com.miui.cloudbackup)
// - NOT USING main activity com.miui.cloudservice.ui.MiCloudMainActivity (from package com.miui.cloudservice)
// - NOT USING main activity com.miui.home.launcher.Launcher (from package com.miui.home)
// - NOT USING main activity miui.notification.management.activity.NotificationAppListActivity (from package com.miui.notification)
// - NOT USING main activity com.xiaomi.account.ui.AccountSettingsActivity (from package com.xiaomi.account)
// - NOT USING main activity com.xiaomi.payment.MiliCenterEntryActivity (from package com.xiaomi.payment)
// - NOT USING main activity com.xiaomi.drivemode.UserGuideActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.miui.micloudsync.MonkeyActivity (from package com.miui.micloudsync)
// - NOT USING main activity com.miui.personalassistant.ui.CardSettingsActivity (from package com.miui.personalassistant)
// - NOT USING main activity com.miui.virtualsim.monkeyentry.MonkeyActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeSettingsActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeAnimActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.MiuiLabDriveModeActivity (from package com.xiaomi.drivemode)
// Seeded: 1668964527417
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(360.0,84.0)
:Sending Touch (ACTION_UP): 0:(355.05856,92.75435)
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 22 // KEYCODE_DPAD_RIGHT
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// activityResuming(com.autonavi.amapauto)
:Sending Key (ACTION_UP): 22 // KEYCODE_DPAD_RIGHT
Events injected: 5
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=72ms (0ms mobile, 0ms wifi, 72ms not connected)
// Monkey finished
4.[options] -s
# 伪随机数生成器的种子值,如果用相同的种子值再次运行monkey,将生成相同的事件序列。
adb shell monkey -s 8888 -v -v -v 500
adb shell monkey -p com.autonavi.amapauto -v -v -v 100 > D:\log.txt
bash arg: -p
bash arg: com.autonavi.amapauto
bash arg: -v
bash arg: -v
bash arg: -v
bash arg: 100
:Monkey: seed=1678571391982 count=100
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Selecting main activities from category android.intent.category.LAUNCHER
// - NOT USING main activity com.android.calendar.homepage.AllInOneActivity (from package com.android.calendar)
// - NOT USING main activity com.android.camera.Camera (from package com.android.camera)
// - NOT USING main activity com.android.contacts.activities.PeopleActivity (from package com.android.contacts)
// - NOT USING main activity com.android.contacts.activities.TwelveKeyDialer (from package com.android.contacts)
// - NOT USING main activity com.android.deskclock.DeskClockTabActivity (from package com.android.deskclock)
// - NOT USING main activity com.android.email.activity.Welcome (from package com.android.email)
// - NOT USING main activity com.android.fileexplorer.FileExplorerTabActivity (from package com.android.fileexplorer)
// - NOT USING main activity com.android.mms.ui.MmsTabActivity (from package com.android.mms)
// - NOT USING main activity com.android.settings.MainSettings (from package com.android.settings)
// - NOT USING main activity com.android.soundrecorder.SoundRecorder (from package com.android.soundrecorder)
// - NOT USING main activity com.android.thememanager.business.startup.view.StartupActivity (from package com.android.thememanager)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.calculator.cal.CalculatorActivity (from package com.miui.calculator)
// - NOT USING main activity com.miui.gallery.activity.HomePageActivity (from package com.miui.gallery)
// - NOT USING main activity com.miui.notes.ui.NotesListActivity (from package com.miui.notes)
// - NOT USING main activity com.miui.weather2.ActivityWeatherMain (from package com.miui.weather2)
// - NOT USING main activity com.xiaomi.scanner.app.ScanActivity (from package com.xiaomi.scanner)
// - NOT USING main activity com.google.android.apps.chrome.Main (from package com.android.chrome)
// + Using main activity com.autonavi.auto.remote.fill.UsbFillActivity (from package com.autonavi.amapauto)
// - NOT USING main activity com.android.providers.downloads.ui.DownloadList (from package com.android.providers.downloads.ui)
// - NOT USING main activity com.market2345.ui.navigation.NavigationActivity (from package com.androidmarket.dingzhi)
// - NOT USING main activity com.browser2345.StartBrowserActivity (from package com.browser_llqhz)
// - NOT USING main activity com.miui.bugreport.ui.MainTabActivity (from package com.miui.bugreport)
// - NOT USING main activity com.miui.compass.CompassActivity (from package com.miui.compass)
// - NOT USING main activity com.miui.player.ui.MusicBrowserActivity (from package com.miui.player)
// - NOT USING main activity com.miui.screenrecorder.activity.ScreenRecorderHomeActivity (from package com.miui.screenrecorder)
// - NOT USING main activity com.miui.securityscan.MainActivity (from package com.miui.securitycenter)
// - NOT USING main activity com.miui.video.HomeActivity (from package com.miui.video)
// - NOT USING main activity com.miui.virtualsim.ui.MainActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.xiaomi.voiceassistant.LauncherRouterActivity (from package com.miui.voiceassist)
// - NOT USING main activity com.pp.assistant.activity.PPMainActivity (from package com.wandoujia.phoenix2)
// - NOT USING main activity com.xiaomi.vipaccount.ui.home.SplashActivity (from package com.xiaomi.vipaccount)
// - NOT USING main activity sogou.mobile.explorer.NoDisplayActivity (from package sogou.mobile.explorer)
// - NOT USING main activity com.alibaba.android.rimet.biz.LaunchHomeActivity (from package com.alibaba.android.rimet)
// - NOT USING main activity com.amap.mockgps.activity.MockGpsProviderActivity (from package com.amap.mockgps)
// - NOT USING main activity com.autonavi.autohelper.MainActivity (from package com.autonavi.autohelper)
// - NOT USING main activity com.autonavi.map.activity.SplashActivity (from package com.autonavi.minimap)
// - NOT USING main activity tv.danmaku.bili.ui.splash.SplashActivity (from package com.bilibili.app.blue)
// - NOT USING main activity com.xiaomi.mitv.phone.remotecontroller.HoriWidgetMainActivityV2 (from package com.duokan.phone.remotecontroller)
// - NOT USING main activity com.estrongs.android.pop.app.openscreenad.NewSplashActivity (from package com.estrongs.android.pop)
// - NOT USING main activity com.example.app8.MainActivity (from package com.example.app8)
// - NOT USING main activity com.example.myappdemo3.MainActivity (from package com.example.myappdemo3)
// - NOT USING main activity com.tencent.mm.ui.LauncherUI (from package com.tencent.mm)
// - NOT USING main activity a.c (from package com.topjohnwu.magisk)
// - NOT USING main activity io.appium.settings.Settings (from package io.appium.settings)
// Selecting main activities from category android.intent.category.MONKEY
// - NOT USING main activity com.android.quicksearchbox.SearchActivity (from package com.android.quicksearchbox)
// - NOT USING main activity com.android.settings.Settings$RunningServicesActivity (from package com.android.settings)
// - NOT USING main activity com.android.settings.Settings$StorageUseActivity (from package com.android.settings)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.cloudbackup.ui.CloudBackupDetailActivity (from package com.miui.cloudbackup)
// - NOT USING main activity com.miui.cloudservice.ui.MiCloudMainActivity (from package com.miui.cloudservice)
// - NOT USING main activity com.miui.home.launcher.Launcher (from package com.miui.home)
// - NOT USING main activity com.xiaomi.account.ui.AccountSettingsActivity (from package com.xiaomi.account)
// - NOT USING main activity com.xiaomi.drivemode.UserGuideActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.payment.MiliCenterEntryActivity (from package com.xiaomi.payment)
// - NOT USING main activity com.miui.micloudsync.MonkeyActivity (from package com.miui.micloudsync)
// - NOT USING main activity com.miui.personalassistant.ui.CardSettingsActivity (from package com.miui.personalassistant)
// - NOT USING main activity com.miui.virtualsim.monkeyentry.MonkeyActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeSettingsActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeAnimActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.MiuiLabDriveModeActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.vipaccount.ui.monkeyentry.MonkeyActivity (from package com.xiaomi.vipaccount)
// Seeded: 1678571391982
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 180 // KEYCODE_STB_INPUT
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// activityResuming(com.autonavi.amapauto)
:Sending Key (ACTION_UP): 180 // KEYCODE_STB_INPUT
Sleeping for 0 milliseconds
:Sending Flip keyboardOpen=false
Got IOException performing flipjava.io.IOException: write failed: EINVAL (Invalid argument)
// Injection Failed
Sleeping for 0 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(3.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,3.0)
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 82 // KEYCODE_MENU
:Sending Key (ACTION_UP): 82 // KEYCODE_MENU
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 82 // KEYCODE_MENU
:Sending Key (ACTION_UP): 82 // KEYCODE_MENU
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 21 // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21 // KEYCODE_DPAD_LEFT
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23 // KEYCODE_DPAD_CENTER
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-2.0)
// Rejecting start of Intent { cmp=com.android.systemui/.recents.RecentsActivity } in package com.android.systemui
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)
:Sending Touch (ACTION_DOWN): 0:(12.0,1449.0)
:Sending Touch (ACTION_UP): 0:(28.040207,1449.7125)
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Flip keyboardOpen=true
Got IOException performing flipjava.io.IOException: write failed: EINVAL (Invalid argument)
// Injection Failed
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 21 // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21 // KEYCODE_DPAD_LEFT
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 82 // KEYCODE_MENU
:Sending Key (ACTION_UP): 82 // KEYCODE_MENU
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 225 // KEYCODE_PAIRING
:Sending Key (ACTION_UP): 225 // KEYCODE_PAIRING
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(597.0,238.0)
:Sending Touch (ACTION_MOVE): 0:(580.99255,235.70848)
:Sending Touch (ACTION_MOVE): 0:(567.8449,227.93594)
:Sending Touch (ACTION_MOVE): 0:(552.2382,221.74454)
:Sending Touch (ACTION_MOVE): 0:(540.7079,209.53922)
:Sending Touch (ACTION_MOVE): 0:(523.68475,194.78691)
:Sending Touch (ACTION_MOVE): 0:(502.22595,188.17601)
:Sending Touch (ACTION_MOVE): 0:(498.7138,173.6767)
:Sending Touch (ACTION_MOVE): 0:(476.45337,162.23425)
:Sending Touch (ACTION_UP): 0:(464.37738,156.15536)
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(464.0,192.0)
:Sending Touch (ACTION_MOVE): 0:(474.5164,179.84035)
:Sending Touch (ACTION_MOVE): 0:(488.04498,171.05109)
:Sending Touch (ACTION_MOVE): 0:(496.79883,160.48438)
:Sending Touch (ACTION_MOVE): 0:(498.49225,152.8276)
:Sending Touch (ACTION_UP): 0:(512.50433,144.3187)
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(948.0,1466.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(961.84326,1447.6656) 1:(12.0,1523.0)
:Sending Touch (ACTION_MOVE): 0:(973.6385,1437.725) 1:(18.231113,1522.5243)
:Sending Touch (ACTION_MOVE): 0:(997.00134,1423.5723) 1:(22.20216,1521.9719)
:Sending Touch (ACTION_MOVE): 0:(1011.5516,1419.6057) 1:(25.237625,1514.5171)
:Sending Touch (ACTION_MOVE): 0:(1027.9148,1416.6036) 1:(26.607368,1513.6372)
:Sending Touch (ACTION_MOVE): 0:(1028.924,1403.363) 1:(26.760143,1511.0199)
:Sending Touch (ACTION_MOVE): 0:(1051.0667,1391.5208) 1:(35.385315,1506.3274)
:Sending Touch (ACTION_POINTER_UP 1): 0:(1054.0309,1389.442) 1:(38.591293,1504.1587)
:Sending Touch (ACTION_UP): 0:(1067.5797,1377.9822)
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23 // KEYCODE_DPAD_CENTER
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,1.0)
:Sending Touch (ACTION_DOWN): 0:(364.0,1784.0)
Events injected: 100
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=2 rotations=0
## Network stats: elapsed time=195ms (0ms mobile, 0ms wifi, 195ms not connected)
// Monkey finished
adb shell monkey -s 1678571391982 -p com.autonavi.amapauto -v -v -v 100 > D:\log1.txt
bash arg: -s
bash arg: 1678571391982
bash arg: -p
bash arg: com.autonavi.amapauto
bash arg: -v
bash arg: -v
bash arg: -v
bash arg: 100
:Monkey: seed=1678571391982 count=100
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Selecting main activities from category android.intent.category.LAUNCHER
// - NOT USING main activity com.android.calendar.homepage.AllInOneActivity (from package com.android.calendar)
// - NOT USING main activity com.android.camera.Camera (from package com.android.camera)
// - NOT USING main activity com.android.contacts.activities.PeopleActivity (from package com.android.contacts)
// - NOT USING main activity com.android.contacts.activities.TwelveKeyDialer (from package com.android.contacts)
// - NOT USING main activity com.android.deskclock.DeskClockTabActivity (from package com.android.deskclock)
// - NOT USING main activity com.android.email.activity.Welcome (from package com.android.email)
// - NOT USING main activity com.android.fileexplorer.FileExplorerTabActivity (from package com.android.fileexplorer)
// - NOT USING main activity com.android.mms.ui.MmsTabActivity (from package com.android.mms)
// - NOT USING main activity com.android.settings.MainSettings (from package com.android.settings)
// - NOT USING main activity com.android.soundrecorder.SoundRecorder (from package com.android.soundrecorder)
// - NOT USING main activity com.android.thememanager.business.startup.view.StartupActivity (from package com.android.thememanager)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.calculator.cal.CalculatorActivity (from package com.miui.calculator)
// - NOT USING main activity com.miui.gallery.activity.HomePageActivity (from package com.miui.gallery)
// - NOT USING main activity com.miui.notes.ui.NotesListActivity (from package com.miui.notes)
// - NOT USING main activity com.miui.weather2.ActivityWeatherMain (from package com.miui.weather2)
// - NOT USING main activity com.xiaomi.scanner.app.ScanActivity (from package com.xiaomi.scanner)
// - NOT USING main activity com.google.android.apps.chrome.Main (from package com.android.chrome)
// + Using main activity com.autonavi.auto.remote.fill.UsbFillActivity (from package com.autonavi.amapauto)
// - NOT USING main activity com.android.providers.downloads.ui.DownloadList (from package com.android.providers.downloads.ui)
// - NOT USING main activity com.market2345.ui.navigation.NavigationActivity (from package com.androidmarket.dingzhi)
// - NOT USING main activity com.browser2345.StartBrowserActivity (from package com.browser_llqhz)
// - NOT USING main activity com.miui.bugreport.ui.MainTabActivity (from package com.miui.bugreport)
// - NOT USING main activity com.miui.compass.CompassActivity (from package com.miui.compass)
// - NOT USING main activity com.miui.player.ui.MusicBrowserActivity (from package com.miui.player)
// - NOT USING main activity com.miui.screenrecorder.activity.ScreenRecorderHomeActivity (from package com.miui.screenrecorder)
// - NOT USING main activity com.miui.securityscan.MainActivity (from package com.miui.securitycenter)
// - NOT USING main activity com.miui.video.HomeActivity (from package com.miui.video)
// - NOT USING main activity com.miui.virtualsim.ui.MainActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.xiaomi.voiceassistant.LauncherRouterActivity (from package com.miui.voiceassist)
// - NOT USING main activity com.pp.assistant.activity.PPMainActivity (from package com.wandoujia.phoenix2)
// - NOT USING main activity com.xiaomi.vipaccount.ui.home.SplashActivity (from package com.xiaomi.vipaccount)
// - NOT USING main activity sogou.mobile.explorer.NoDisplayActivity (from package sogou.mobile.explorer)
// - NOT USING main activity com.alibaba.android.rimet.biz.LaunchHomeActivity (from package com.alibaba.android.rimet)
// - NOT USING main activity com.amap.mockgps.activity.MockGpsProviderActivity (from package com.amap.mockgps)
// - NOT USING main activity com.autonavi.autohelper.MainActivity (from package com.autonavi.autohelper)
// - NOT USING main activity com.autonavi.map.activity.SplashActivity (from package com.autonavi.minimap)
// - NOT USING main activity tv.danmaku.bili.ui.splash.SplashActivity (from package com.bilibili.app.blue)
// - NOT USING main activity com.xiaomi.mitv.phone.remotecontroller.HoriWidgetMainActivityV2 (from package com.duokan.phone.remotecontroller)
// - NOT USING main activity com.estrongs.android.pop.app.openscreenad.NewSplashActivity (from package com.estrongs.android.pop)
// - NOT USING main activity com.example.app8.MainActivity (from package com.example.app8)
// - NOT USING main activity com.example.myappdemo3.MainActivity (from package com.example.myappdemo3)
// - NOT USING main activity com.tencent.mm.ui.LauncherUI (from package com.tencent.mm)
// - NOT USING main activity a.c (from package com.topjohnwu.magisk)
// - NOT USING main activity io.appium.settings.Settings (from package io.appium.settings)
// Selecting main activities from category android.intent.category.MONKEY
// - NOT USING main activity com.android.quicksearchbox.SearchActivity (from package com.android.quicksearchbox)
// - NOT USING main activity com.android.settings.Settings$RunningServicesActivity (from package com.android.settings)
// - NOT USING main activity com.android.settings.Settings$StorageUseActivity (from package com.android.settings)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.cloudbackup.ui.CloudBackupDetailActivity (from package com.miui.cloudbackup)
// - NOT USING main activity com.miui.cloudservice.ui.MiCloudMainActivity (from package com.miui.cloudservice)
// - NOT USING main activity com.miui.home.launcher.Launcher (from package com.miui.home)
// - NOT USING main activity com.xiaomi.account.ui.AccountSettingsActivity (from package com.xiaomi.account)
// - NOT USING main activity com.xiaomi.drivemode.UserGuideActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.payment.MiliCenterEntryActivity (from package com.xiaomi.payment)
// - NOT USING main activity com.miui.micloudsync.MonkeyActivity (from package com.miui.micloudsync)
// - NOT USING main activity com.miui.personalassistant.ui.CardSettingsActivity (from package com.miui.personalassistant)
// - NOT USING main activity com.miui.virtualsim.monkeyentry.MonkeyActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeSettingsActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeAnimActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.MiuiLabDriveModeActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.vipaccount.ui.monkeyentry.MonkeyActivity (from package com.xiaomi.vipaccount)
// Seeded: 1678571391982
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 180 // KEYCODE_STB_INPUT
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// activityResuming(com.autonavi.amapauto)
:Sending Key (ACTION_UP): 180 // KEYCODE_STB_INPUT
Sleeping for 0 milliseconds
:Sending Flip keyboardOpen=false
Got IOException performing flipjava.io.IOException: write failed: EINVAL (Invalid argument)
// Injection Failed
Sleeping for 0 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(3.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,3.0)
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 82 // KEYCODE_MENU
:Sending Key (ACTION_UP): 82 // KEYCODE_MENU
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 82 // KEYCODE_MENU
:Sending Key (ACTION_UP): 82 // KEYCODE_MENU
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 21 // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21 // KEYCODE_DPAD_LEFT
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23 // KEYCODE_DPAD_CENTER
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)
:Sending Touch (ACTION_DOWN): 0:(12.0,1449.0)
:Sending Touch (ACTION_UP): 0:(28.040207,1449.7125)
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
// Rejecting start of Intent { cmp=com.android.systemui/.recents.RecentsActivity } in package com.android.systemui
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Flip keyboardOpen=true
Got IOException performing flipjava.io.IOException: write failed: EINVAL (Invalid argument)
// Injection Failed
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 21 // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21 // KEYCODE_DPAD_LEFT
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 82 // KEYCODE_MENU
:Sending Key (ACTION_UP): 82 // KEYCODE_MENU
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 19 // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19 // KEYCODE_DPAD_UP
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 225 // KEYCODE_PAIRING
:Sending Key (ACTION_UP): 225 // KEYCODE_PAIRING
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(597.0,238.0)
:Sending Touch (ACTION_MOVE): 0:(580.99255,235.70848)
:Sending Touch (ACTION_MOVE): 0:(567.8449,227.93594)
:Sending Touch (ACTION_MOVE): 0:(552.2382,221.74454)
:Sending Touch (ACTION_MOVE): 0:(540.7079,209.53922)
:Sending Touch (ACTION_MOVE): 0:(523.68475,194.78691)
:Sending Touch (ACTION_MOVE): 0:(502.22595,188.17601)
:Sending Touch (ACTION_MOVE): 0:(498.7138,173.6767)
:Sending Touch (ACTION_MOVE): 0:(476.45337,162.23425)
:Sending Touch (ACTION_UP): 0:(464.37738,156.15536)
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(464.0,192.0)
:Sending Touch (ACTION_MOVE): 0:(474.5164,179.84035)
:Sending Touch (ACTION_MOVE): 0:(488.04498,171.05109)
:Sending Touch (ACTION_MOVE): 0:(496.79883,160.48438)
:Sending Touch (ACTION_MOVE): 0:(498.49225,152.8276)
:Sending Touch (ACTION_UP): 0:(512.50433,144.3187)
Sleeping for 0 milliseconds
:Sending Touch (ACTION_DOWN): 0:(948.0,1466.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(961.84326,1447.6656) 1:(12.0,1523.0)
:Sending Touch (ACTION_MOVE): 0:(973.6385,1437.725) 1:(18.231113,1522.5243)
:Sending Touch (ACTION_MOVE): 0:(997.00134,1423.5723) 1:(22.20216,1521.9719)
:Sending Touch (ACTION_MOVE): 0:(1011.5516,1419.6057) 1:(25.237625,1514.5171)
:Sending Touch (ACTION_MOVE): 0:(1027.9148,1416.6036) 1:(26.607368,1513.6372)
:Sending Touch (ACTION_MOVE): 0:(1028.924,1403.363) 1:(26.760143,1511.0199)
:Sending Touch (ACTION_MOVE): 0:(1051.0667,1391.5208) 1:(35.385315,1506.3274)
:Sending Touch (ACTION_POINTER_UP 1): 0:(1054.0309,1389.442) 1:(38.591293,1504.1587)
:Sending Touch (ACTION_UP): 0:(1067.5797,1377.9822)
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23 // KEYCODE_DPAD_CENTER
Sleeping for 0 milliseconds
:Sending Key (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
Sleeping for 0 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,1.0)
:Sending Touch (ACTION_DOWN): 0:(364.0,1784.0)
Events injected: 100
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=2 rotations=0
## Network stats: elapsed time=178ms (0ms mobile, 0ms wifi, 178ms not connected)
// Monkey finished
5.[options] —throttle
# 事件时间间隔,单位毫秒
adb shell monkey --pct-touch 50 -v -v 500
6.[options] —pct-touch
# touch点击事件,percent为百分比,不得超过100,如果不写系统随机分配
adb shell monkey --pct-touch 50 -v 100
7.[options] —pct-motion
#motion移图事件,percent为百分比,不得超过100,如果不写系统随机分配,直线移图
adb shell monkey --pct-trackball 10 -v 100
8.[options] —pct-trackball
#trackball轨迹球,percent为百分比,不得超过100,如果不写系统随机分配,曲线移图
adb shell monkey --pct-trackball 20 -v 100
9.[options] —other
# 指定基本的导航事件百分比。导航事件由方向输入设备的上下左右按键所触发的事件组成,即四个方向键
--pct-nav <percent>
# 指定主导航事件百分比。这些导航事件通常会导致UI界面发生变化,如5-way键盘的中间键,返回按键、菜单按键
--pct-majornav <percent>
# 指定系统事件百分比。这些按键通常由系统保留使用,如Home、Back、Start Call、End Call、音量调节
--pct-syskeys <percent>
# 指定Activity启动的百分比。在随机的时间间隔中,monkey执行startActivity()方法,最大程度地覆盖应用中全部的Activity
--pct-appswitch <percent>
指定其他事件的百分比。包含所有其他事件,如按键、其他在设备上不常用的按钮等
--pct-anyevent <percent>
10.[options] —ignore-other
# 忽略crashes,测试过程中发生crashes继续进行测试直到执行完指定的事件数,
如果不忽略遇到crashesmonkey测试会停止
--ignore-crashes
# 忽略ANR,测试过程中发生ANR继续进行直到执行完指定的事件数,如果不忽略遇到ANR测试也会终止
--ignore-timeouts
# 忽略权限错误,在设置此选项后,当应用程序发生任何权限错误(如启动一个需要某些权限的Activity)时,
monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到此类权限错误将停止运行。
--ignore-security-exceptions
11.[options] —monitor-native-crashes
# 监视系统代码,用于指定是否监视并报告Android系统中本地代码的崩溃事件。
--monitor-native-crashes
12.[options] —kill-process-after-error
# 发生错误停止应用用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,
当应用程序发生错误时,将会通知系统停止发生错误的进程。
--kill-process-after-error
13.[options] —hprof
# 用于在 monkey 事件执行前后生成内存快照文件。通过对比前后的内存快照文件,协助定位内存泄漏问题。快照文件存放于 data/misc目录。由于内存快照文件比较大,所以要小心使用。
-- hprof
14.[options] —bugreport
可以运行adb bugreport观察,它提供了meminfo,cpuinfo,vmstat到dmesg,buildprop等信息
--bugreport
15.完整命令
adb shell monkey -p com.autonavi.amapauto --bugreport --ignore-crashes
--ignore-timeouts --ignore-security-exceptions --monitor-native-crashes
--kill-process-after-error --pct-syskeys 1 --pct-motion 2 --pct-touch 80
--pct-trackball 0 --throttle 5 -v -v -v 10 > D:\monkeyLog.log
16.报告
bash arg: -p
bash arg: com.autonavi.amapauto
bash arg: --bugreport
bash arg: --ignore-crashes
bash arg: --ignore-timeouts
bash arg: --ignore-security-exceptions
bash arg: --monitor-native-crashes
bash arg: --kill-process-after-error
bash arg: --pct-syskeys
bash arg: 1
bash arg: --pct-motion
bash arg: 2
bash arg: --pct-touch
bash arg: 80
bash arg: --pct-trackball
bash arg: 0
bash arg: --throttle
bash arg: 5
bash arg: -v
bash arg: -v
bash arg: -v
bash arg: 10
:Monkey: seed=1668891391735 count=10
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Selecting main activities from category android.intent.category.LAUNCHER
// - NOT USING main activity com.android.browser.BrowserActivity (from package com.android.browser)
// - NOT USING main activity com.android.calendar.homepage.AllInOneActivity (from package com.android.calendar)
// - NOT USING main activity com.android.camera.Camera (from package com.android.camera)
// - NOT USING main activity com.android.contacts.activities.PeopleActivity (from package com.android.contacts)
// - NOT USING main activity com.android.contacts.activities.TwelveKeyDialer (from package com.android.contacts)
// - NOT USING main activity com.android.deskclock.DeskClockTabActivity (from package com.android.deskclock)
// - NOT USING main activity com.android.fileexplorer.FileExplorerTabActivity (from package com.android.fileexplorer)
// - NOT USING main activity com.android.mms.ui.MmsTabActivity (from package com.android.mms)
// - NOT USING main activity com.android.settings.MainSettings (from package com.android.settings)
// - NOT USING main activity com.android.soundrecorder.SoundRecorder (from package com.android.soundrecorder)
// - NOT USING main activity com.android.thememanager.business.startup.view.StartupActivity (from package com.android.thememanager)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.gallery.activity.HomePageActivity (from package com.miui.gallery)
// - NOT USING main activity com.xiaomi.market.ui.MarketTabActivity (from package com.xiaomi.market)
// - NOT USING main activity com.android.email.activity.Welcome (from package com.android.email)
// + Using main activity com.autonavi.auto.remote.fill.UsbFillActivity (from package com.autonavi.amapauto)
// - NOT USING main activity com.miui.calculator.cal.CalculatorActivity (from package com.miui.calculator)
// - NOT USING main activity com.miui.notes.ui.NotesListActivity (from package com.miui.notes)
// - NOT USING main activity com.miui.weather2.ActivityWeatherMain (from package com.miui.weather2)
// - NOT USING main activity com.sohu.inputmethod.sogou.SogouIMELauncher (from package com.sohu.inputmethod.sogou)
// - NOT USING main activity com.xiaomi.scanner.app.ScanActivity (from package com.xiaomi.scanner)
// - NOT USING main activity net.dinglisch.android.taskerm.Tasker (from package net.dinglisch.android.taskerm)
// - NOT USING main activity com.android.providers.downloads.ui.DownloadList (from package com.android.providers.downloads.ui)
// - NOT USING main activity com.miui.bugreport.ui.MainTabActivity (from package com.miui.bugreport)
// - NOT USING main activity com.miui.player.ui.MusicBrowserActivity (from package com.miui.player)
// - NOT USING main activity com.miui.securityscan.MainActivity (from package com.miui.securitycenter)
// - NOT USING main activity com.miui.video.HomeActivity (from package com.miui.video)
// - NOT USING main activity com.xiaomi.voiceassistant.LauncherRouterActivity (from package com.miui.voiceassist)
// - NOT USING main activity com.xiaomi.vipaccount.ui.monkeyentry.MonkeyActivity (from package com.xiaomi.vipaccount)
// - NOT USING main activity com.autonavi.amapauto.autolink.MainActivity (from package amapauto.autonavi.com.wifidirectlinktest)
// - NOT USING main activity cn.wps.moffice.documentmanager.PreStartActivity (from package cn.wps.moffice_eng)
// - NOT USING main activity com.alibaba.android.rimet.biz.LaunchHomeActivity (from package com.alibaba.android.rimet.aliding)
// - NOT USING main activity com.aliwork.alilang.activity.SplashActivity (from package com.alibaba.android.security.activity)
// - NOT USING main activity com.amap.mockgps.activity.MockGpsProviderActivity (from package com.amap.mockgps)
// - NOT USING main activity com.amap.qahome.MainActivity (from package com.amap.qahome)
// - NOT USING main activity com.alipay.hulu.activity.SplashActivity (from package com.amapauto.autohelper)
// - NOT USING main activity com.alipay.hulu.activity.SplashActivity (from package com.autonavi.amapauto.autohelper)
// - NOT USING main activity jp.co.cyberagent.stf.IdentityActivity (from package com.autonavi.arc.jarvis)
// - NOT USING main activity com.autonavi.autohelper.MainActivity (from package com.autonavi.autohelper)
// - NOT USING main activity com.autonavi.diagnose.MainActivity (from package com.autonavi.diagnose)
// - NOT USING main activity com.autonavi.gaode.editfuncconfig.MainActivity (from package com.autonavi.gaode.editfuncconfig)
// - NOT USING main activity com.autonavi.map.activity.SplashActivity (from package com.autonavi.minimap)
// - NOT USING main activity com.autonavi.mockgps.app.MainActivity (from package com.autonavi.mockgps)
// - NOT USING main activity com.autonavi.recoveryadb.MainActivity (from package com.autonavi.recoveryadb)
// - NOT USING main activity com.duokan.reader.DkReaderActivity (from package com.duokan.reader)
// - NOT USING main activity com.eg.android.AlipayGphone.AlipayLogin (from package com.eg.android.AlipayGphone)
// - NOT USING main activity com.github.uiautomator.MainActivity (from package com.github.uiautomator)
// - NOT USING main activity com.miui.compass.CompassActivity (from package com.miui.compass)
// - NOT USING main activity com.miui.screenrecorder.activity.ScreenRecorderHomeActivity (from package com.miui.screenrecorder)
// - NOT USING main activity com.miui.virtualsim.ui.MainActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.mnu.partitionFiller.mainActivity (from package com.mnu.partitionFiller)
// - NOT USING main activity com.mocyx.basic_client.MainActivity (from package com.mocyx.basic_client)
// - NOT USING main activity com.netease.nie.yosemite.MainActivity (from package com.netease.nie.yosemite)
// - NOT USING main activity com.taobao.tao.welcome.Welcome (from package com.taobao.taobao)
// - NOT USING main activity com.tencent.mm.ui.LauncherUI (from package com.tencent.mm)
// - NOT USING main activity com.xiaomi.gamecenter.ui.MainTabActivity (from package com.xiaomi.gamecenter)
// - NOT USING main activity com.xiaomi.mico.splash.SplashActivity (from package com.xiaomi.mico)
// - NOT USING main activity com.xiaomi.shop.activity.MainTabActivity (from package com.xiaomi.shop)
// - NOT USING main activity io.appium.settings.Settings (from package io.appium.settings)
// - NOT USING main activity make.more.r2d2.cellular_z.activity.SplashGMActivity (from package make.more.r2d2.cellular_z)
// - NOT USING main activity com.joaomgcd.taskerm.util.ActivitySecondaryApp (from package net.dinglisch.android.taskerm)
// Selecting main activities from category android.intent.category.MONKEY
// - NOT USING main activity com.android.quicksearchbox.SearchActivity (from package com.android.quicksearchbox)
// - NOT USING main activity com.android.settings.Settings$RunningServicesActivity (from package com.android.settings)
// - NOT USING main activity com.android.settings.Settings$StorageUseActivity (from package com.android.settings)
// - NOT USING main activity com.mipay.wallet.ui.MipayEntryActivity (from package com.mipay.wallet)
// - NOT USING main activity com.miui.cloudbackup.ui.CloudBackupDetailActivity (from package com.miui.cloudbackup)
// - NOT USING main activity com.miui.cloudservice.ui.MiCloudMainActivity (from package com.miui.cloudservice)
// - NOT USING main activity com.miui.home.launcher.Launcher (from package com.miui.home)
// - NOT USING main activity miui.notification.management.activity.NotificationAppListActivity (from package com.miui.notification)
// - NOT USING main activity com.xiaomi.account.ui.AccountSettingsActivity (from package com.xiaomi.account)
// - NOT USING main activity com.xiaomi.payment.MiliCenterEntryActivity (from package com.xiaomi.payment)
// - NOT USING main activity com.xiaomi.drivemode.UserGuideActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.miui.micloudsync.MonkeyActivity (from package com.miui.micloudsync)
// - NOT USING main activity com.miui.personalassistant.ui.CardSettingsActivity (from package com.miui.personalassistant)
// - NOT USING main activity com.miui.virtualsim.monkeyentry.MonkeyActivity (from package com.miui.virtualsim)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeSettingsActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.DriveModeAnimActivity (from package com.xiaomi.drivemode)
// - NOT USING main activity com.xiaomi.drivemode.MiuiLabDriveModeActivity (from package com.xiaomi.drivemode)
// Seeded: 1668891391735
// Event percentages:
// 0: 80.0%
// 1: 2.0%
// 2: 0.5862069%
// 3: -0.0%
// 4: -0.0%
// 5: -0.0%
// 6: 7.327586%
// 7: 4.396552%
// 8: 1.0%
// 9: 0.5862069%
// 10: 0.29310346%
// 11: 3.810345%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
Sleeping for 5 milliseconds
:Sending Key (ACTION_DOWN): 22 // KEYCODE_DPAD_RIGHT
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// Allowing start of Intent { cmp=com.autonavi.amapauto/.MainMapActivity } in package com.autonavi.amapauto
// activityResuming(com.autonavi.amapauto)
:Sending Key (ACTION_UP): 22 // KEYCODE_DPAD_RIGHT
Sleeping for 5 milliseconds
:Sending Touch (ACTION_DOWN): 0:(401.0,591.0)
:Sending Touch (ACTION_UP): 0:(395.65952,576.1129)
Sleeping for 5 milliseconds
:Sending Touch (ACTION_DOWN): 0:(1328.0,662.0)
:Sending Touch (ACTION_UP): 0:(1337.881,659.249)
Sleeping for 5 milliseconds
:Sending Touch (ACTION_DOWN): 0:(1220.0,217.0)
:Sending Touch (ACTION_UP): 0:(1210.6814,223.03589)
Sleeping for 5 milliseconds
:Sending Touch (ACTION_DOWN): 0:(295.0,401.0)
Events injected: 10
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=133ms (0ms mobile, 0ms wifi, 133ms not connected)
// Monkey finished
17.报告分析
组成:
(1) 测试命令信息:随机种子 seed、运行次数、可运行应用列表、各事件百分比。
:Monkey: seed=123456 count=100
:AllowPackage: com.autonavi.amapauto
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
(2) App 切换和 Activity 跳转:
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.autonavi.amapauto/com.autonavi.auto.remote.fill.UsbFillActivity } in package com.autonavi.amapauto
(3) 伪随机事件流:记录各种随机操作及中间的延迟时间
- touch 触摸操作
:Sending Touch (ACTION_DOWN): 0:(601.0,1845.0)
:Sending Touch (ACTION_UP): 0:(602.02075,1859.1255)
- trackball 曲线滑动
:Sending Trackball (ACTION_MOVE): 0:(-4.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-3.0)
- motion 滑动操作
:Sending Touch (ACTION_DOWN): 0:(616.0,1839.0)
:Sending Touch (ACTION_MOVE): 0:(620.33905,1836.9757)
:Sending Touch (ACTION_MOVE): 0:(622.64496,1834.43)
:Sending Touch (ACTION_MOVE): 0:(629.02374,1832.316)
:Sending Touch (ACTION_MOVE): 0:(630.7985,1830.329)
:Sending Touch (ACTION_MOVE): 0:(632.6726,1830.2623)
- pinch-zoom 缩放操作
:Sending Touch (ACTION_DOWN): 0:(616.0,1839.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(616.0,1839.0) 1:(178.0.39.0)
:Sending Touch (ACTION_MOVE): 0:(620.33905,1836.9757) 1:(181.7525.41.002)
:Sending Touch (ACTION_MOVE): 0:(622.64496,1834.43) 1:(192.0.42.0)
:Sending Touch (ACTION_MOVE): 0:(629.02374,1832.316) 1:(214.0.43.0)
:Sending Touch (ACTION_MOVE): 0:(630.7985,1830.329) 1:(236.0.45.0)
:Sending Touch (ACTION_MOVE): 0:(632.6726,1830.2623) 1:(178.0.39.0)
:Sending Touch (ACTION_POINTER_UP 1): 0:(90.42,1026.0) 1:(178.0.39.0)
- rotation 旋转操作
:Sending rotation degree=0, persist=false