天水网站seo,wordpress 极简 模板,什么是电子商务网站开发,wordpress 公司官网一、Monkey命令概述
NO命令说明用法解释1 -p ALLOWED_PACKAGE用于指定某个apk#xff0c;可以使用多个-p选项#xff0c;但是每个-p命令选项只能用于一个apk 如果不指定-p#xff0c;Monkey就会默认进行全系统测试。 -p com.android.contacts可以进行特定apk的Monkey测试2 …一、Monkey命令概述
NO命令说明用法解释1 -p ALLOWED_PACKAGE用于指定某个apk可以使用多个-p选项但是每个-p命令选项只能用于一个apk 如果不指定-pMonkey就会默认进行全系统测试。 -p com.android.contacts可以进行特定apk的Monkey测试2 -c MAIN_CATEGORY用于指定某个类可以使用多个-c选项但是每个-c命令选项只能用于一个类。如不指定类Monkey就默认执行Intent.Category_LAUNCHER或者Intent.Category_MONKEY -c intent.CATEGORY_LAUNCHER所有类别 * CATEGORY_DEFAULT * CATEGORY_BROWSABLE * CATEGORY_TAB * CATEGORY_ALTERNATIVE * CATEGORY_SELECTED_ALTERNATIVE * CATEGORY_LAUNCHER * CATEGORY_INFO * CATEGORY_HOME * CATEGORY_PREFERENCE * CATEGORY_TEST * CATEGORY_CAR_DOCK * CATEGORY_DESK_DOCK * CATEGORY_CAR_MODE 3 --ignore-crashes忽略程序崩溃。设置此选项后Monkey会执行完所有的事件不会因crash而停止。 --ignore-crashes针对各种crash的忽略监控停止进程操作4 --ignore-timeouts忽略程序无响应。设置此选项后Monkey会执行完所有的事件不会因ANR而停止。 --ignore-timeouts5 --ignore-security-exceptions忽略证书或认证异常。设置此选项后Monkey会执行完所有的事件不会因认证或证书异常而停止。 --ignore-security-exceptions6 --monitor-native-crashes监视系统中本地代码发生的崩溃。 --monitor-native-crashes7 --ignore-native-crashes忽略本地代码导致的崩溃。设置忽略后Monkey将执行完所有的事件不会因此停止。 --ignore-native-crashes8 --kill-process-after-error设置了该选项出错的程序就会停止。 --kill-process-after-error10 --pct-touch PERCENT调整触摸事件的百分比 --pct-touch 20所有的事件的百分比应该是100%从Monkey测试报告中没有发现特定事件的影响比如在U8800上进行100%的轨迹球事件测试没有发现任何影响。11 --pct-motion PERCENT调动作事件的百分比 --pct-motion 2012 --pct-trackball PERCENT调整轨迹球事件的百分比 --pct-trackball 1013 --pct-syskeys PERCENT调整系统按键事件的百分比(home\back\call\end call\volume key) --pct-syskeys 514 --pct-nav PERCENT调整基本导航事件的百分比 --pct-nav 515 --pct-majornav PERCENT调整主要导航事件的百分比(ok\cancel\menu等引发图形接口的动作) --pct-majornav 1016 --pct-appswitch PERCENT调整启动活动的百分比 --pct-appswitch 1017 --pct-flip PERCENT调整点击事件的百分比 --pct-flip 1018 --pct-anyevent PERCENT调整其他类型事件的百分比其他所有类型 --pct-anyevent 1019 --pkg-blacklist-file PACKAGE_BLACKLIST_FILEapk黑名单屏蔽掉黑名单中的apk。 --pkg-blacklist-file /data/blacklist/blacklist.txt1.需要新建黑白名单文件夹和同名txt文件。 2.然后在txt文件中编辑apk列表。20 --pkg-whitelist-file PACKAGE_WHITELIST_FILEapk白名单只测试包含在白名单中的apk --pkg-whitelist-file /data/whitelist/whitelist.txt21 --wait-dbg一旦连接了调试器Monkey就会停止。 --wait-dbg开发调试时使用9 --hprof用于在Monkey事件时序的前后在/data/misc中生成5Mb左右的profiling报告。在data\misc文件夹下产生一个“.hprof”的文件heap-dump-tm1312534653-pid159.hprof22 --dbg-no-events设置该选项后Monkey会执行初始启动进入到测试活动中而不产生任何事件。可以设置几个apk包以及其他环境来监视应用程序所调用的包之间的转换。 --dbg-no-events25 --port port为Monkey开启专用端口。之后Monkey就不会执行此时你就可以像Monkey一样乱点Monkey会输出你点击后的回馈信息。如果你打完命令后模拟器没有启动你所要启动的包需要自己启动你在-p中指定的应用.开启专用端口后人可以模拟Monkey进行操作。用于开发手动重现问题。26 -s SEED随机数生成器的seed值。如果用相同的seed值再次运行Monkey它将生成相同的事件时序。 -s 100主要帮助开发排查错误并验证修改的代码27 -v每个-v都将增加反馈信息的级别。共3个级别因此-v -v -v可以提供最详细的设置信息。 -v -v -v使用3个v命令可以在Monkey测试报告中看最详细的设置信息28 --throttle MILLISEC事件之间插入的固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定Monkey将尽可能快的产生并执行事件。 --throttle 3000设置事件间的时间延时29 --randomize-throttle事件之间插入随机延时。 --randomize-throttle30 COUNT执行数99999执行事件次数 二、死机log信息汇总
NOlog信息类型可以解决哪些问题如何获得不同的log信息说明如何导出该文件1LogcatApp crash通过命令获得 #adb shell logcat –v time c:\logcat-log.txt无可以通过命令导出2BugreportApp crash获取bugreport和dumpstate #adb shell bugreport bugreport-yyyy-mm-dd-hh-mm-ss.txt #adb shell dumpstate dumpstate-yyyy-mm-dd-hh-mm-ss.txtdumpstate是一个具体对系统的各个信息进行收集的程序 bugreport则会以服务的形式来启动dumpstate它不完成具体的收集操作只负责将dumpstate的信息通过socket的形式进行接收并重定向出来。它存储在/mnt/sdcard/bugreports或者/data/bugreports或/HWUserData可以实现自动导出3Dump logApp crash从qpst或者dump工具导出1.利用QPST efs工具手动创建dump目录和一个空白的debug.dbg文件在dump目录下。 2.通过QXDM将NV905设置为00表示进入dump1表示重启2或者未激活表示不做任何动作只能手动导出4ANR traceApp not respondingTrace.txt文件保存在在/data/anr中可以通过命令导出无可以通过命令导出5DropboxApp crash、kernel保存在/data/system/dropbox该目录下有4类信息对分析比较有帮助 1.APANIC_CONSOLExxxxxxxxxxxxx.txt.gz 2.APANIC_THREADSxxxxxxxxxxxxx.txt.gz 3.system_server_watchdogxxxxxxxxxxxxx.txt 4.system_server_crashxxxxxxxxxxxxx.txtAPANIC_CONSOLExxxxxxxxxxxxx.txt.gz记录的是核心发生死机的时候的核心LOG APANIC_THREADSxxxxxxxxxxxxx.txt.gz核心发生死机的时候各个线程在核心中的调用stack system_server_watchdogxxxxxxxxxxxxx.txt记录了发生死机的时刻上系统对SystemServer中的各个线程的调用stack进行记录的一个文件 system_server_crashxxxxxxxxxxxxx.txt记录了发生死机的时刻上SystemServer中的具体死机的异常点可以实现自动导出6TombstonesNative保存在/data/tombstones该目录下生成一个tombstone_xx文件Tombstone文件是异常进程的调用栈信息在该进程异常退出或崩溃时由android的后台进程debuggerd负责生成可以实现自动导出7CoredumpNative一是编译器支持要产生coredump文件在android编译的时候要加上调试-g选项以支持coredump文件的生成。 二是环境参数支持可以修改工程目录system/core/rootdir下的init.rc文件来支持coredump文件的产生。这是一种常见的linux收集进程异常信息的机制。用户态进程在中止时将产生信号linux内核根据信号的类型来决定是否要产生coredump文件。Android上保留了这种机制但默认是关闭的。要使进程产生coredump文件还要满足两个条件一是编译器支持二是环境参数支持。目前没有开发使用过该信息去处理死机问题8KmsgKernel、Native保存在cat/proc/kmsg来查看sysrq信息它用来收集内核和用户态进程信息。 需要通过adb命令 打开这个功能运行 # echo 1 /proc/sys/kernel/sysrq 关闭这个功能: # echo 0 /proc/sys/kernel/sysrqsysrq信息 只要内核没有被完全锁住不管内核在做什么事情使用sysrq可以立即打印出内核的信息当然也包括用户态进程的信息。 如果系统出现挂起的情况或者在诊断一些和内核相关比较怪异比较难重现的问题的时候亦可使用sysrq方式来收集信息。可以实现自动导出但是需要先开启该功能。9DontpanicKernel有三个文件保存在在/data/dontpanic/目录下 apanic_console记录内核的控制台信息 apanic_threads记录的是panic时内核寄存器、调用栈等信息apanic_sysinfo记录meminfo、zoneinfo、slabinfo、vmallocinfo等信息。apanic_sysinfo 在apanic中打开这些文件并用printk读取到内核log_buf中然后再利用apanic的写入flash机制将这些信息分别保存到/data/dontpanic/目录下apanic_sysinfo需要开发手动增加的而非系统自动生成。10Mondem logmondem通过QPST工具连接手机打开/err文件并导出其中的log文件通过QPST获得的高通死机log err文件夹下的内容适用于7x25/7x27平台通过QPST可以获得err文件夹下的内容该目录下的内容是ARM9在死机的时候记录在ARM9侧的LOG记录通过该目录可以简单的判断一下ARM9侧的死机情况。只能手动导出
三、参考数据
NO手机延时ms执行时间ms执行时间minute注入事件数事件执行频率个/分钟Monkey停止原因1HTC无延时11480651917205899at com.htc.album.DisplayManager.onMenuItemSelected215515282619401750android.app.ActivityThread.performLaunchActivity310028591714937894at com.android.htcdialer.BaseSmartSearchList.onKeyDown426794784537625843at android.app.ActivityThread.performLaunchActivity555335998229892java.lang.RuntimeException at android.app.ActivityThread.performResumeActivity67254231210348856java.lang.NullPointerException at com.htc.android.worldclock.DeskClock.dispatchKeyEvent714809352518897766java.lang.NullPointerException at com.google.android.street.StreetView.setPanoramaConfig810682661812814720ANR in com.htc.launcher (com.htc.launcher/.Launcher)925753714334454803java.lang.RuntimeException: Unable to resume activity at android.app.ActivityThread.performResumeActivity10589575108492864android.view.WindowManager$BadTokenException: Unable to add window at android.view.ViewRoot.setView1Nexus无延时61098610189061857java.lang.IllegalStateException: Calling RS with no Context active.258584710168621727ANR in com.google.android.voicesearch3238446240717571806ANR in com.google.android.apps.maps:driveabout 475105113180851445ANR in com.google.android.apps.maps:driveabout 5118013820318441619OutOfMemory6100448717254981523java.lang.IllegalArgumentException at com.google.android.gles_jni.EGLImpl._eglCreateWindowSurface7131602222323901477ANR in com.google.android.apps.maps8222782537636411714java.lang.IllegalArgumentException at com.google.android.gles_jni.EGLImpl._eglCreateWindowSurface9129126422364561694ANR in com.google.android.apps.maps 10120091920351251755ANR in com.google.earth (com.google.earth/.EarthActivity)1C8800大内存无延时21924742958809ANR in com.android.camera 272382112481035java.lang.RuntimeException: lock failed at android.hardware.Camera.lock(Native Method)1U8800无延时24150243800944java.lang.NullPointerException at com.erdo.unicom.GameMIDlet$10.onClick2486920886461065java.lang.RuntimeException: An error occured while executing doInBackground at android.os.AsyncTask$3.done311832622019594994SocketTimeoutException at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native Method)4158476350051895android.view.WindowManager$BadTokenException at android.view.ViewRoot.setView513316722097945java.lang.RuntimeException: Unable to resume activity at android.app.ActivityThread.performResumeActivity6428677782271151java.lang.NullPointerException at com.erdo.unicom.WelcomeForm.onKeyUp7371265669911130java.lang.RuntimeException: Unable to pause activity {com.android.contacts/com.android.contacts.commonext.GroupGridActivity} at android.app.ActivityThread.performPauseActivity852676398633983java.lang.NullPointerException at com.huawei.inputmethod.hwpal.PinyinIME.showCandidateWindow9591910108633875android.view.WindowManager$BadTokenException10270742575611676java.lang.NullPointerException at com.erdo.unicom.WelcomeForm.onKeyUp